psy*_*tik 5 android android-widget android-emulator
我有一个现有的Android应用程序.我使用以下内容添加了一个简单的小部件:
<receiver>块来更新我的清单,该块提供有关我的AppWidgetProvider实现的信息<appwidget-provider>,其中包含一个包含height/width/updatePeriod/initialLayout/icon/label属性的元素ImageView和a 的简单默认布局TextViewAppWidgetProvider当我构建并将其部署到模拟器时,我的Widget不会显示在窗口小部件列表中.我错过了"安装"小部件的一些步骤吗?我是否需要做一些特殊的事情才能让它出现在模拟器中?
编辑:这是我的清单接收器的样子:
<receiver android:name=".MyAppWidgetProvider"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/my_appwidget_info" />
</receiver>
Run Code Online (Sandbox Code Playgroud)
这是我的my_appwidget_info.xml的样子:
<?xml version="1.0" encoding="UTF-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:icon="@drawable/ic_logo"
android:label="MySampleApp"
android:minWidth="294dp"
android:minHeight="72dp"
android:updatePeriodMillis="86400000"
android:initialLayout="@layout/my_app_widget" >
</appwidget-provider>
Run Code Online (Sandbox Code Playgroud)
清单中的接收器标签是否具有正确的intent-filter和元数据?它应该看起来像文档中的示例:
<receiver android:name="MyAppWidgetProvider" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/my_appwidget_info" />
</receiver>
Run Code Online (Sandbox Code Playgroud)
接收器需要将这两个部分识别为app小部件.
编辑:<receiver>标签也需要位于<application>标签内.