我正在尝试测试我的应用小部件并已在清单中注册接收器,如下所示:
<receiver android:name=".MyUtilityWidget" android:label="@string/widget_name">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_config" />
</receiver>
MyUtility 代码:
public class MyUtilityWidget extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
my Main Code here.... (widget stuff)
}
我的小部件启动并执行一次很好(因此我将代码放在此处)。但是广播接收器不工作,我没有收到任何广播。事实上,LogCat 显示意图从未被执行。因此,我的代码块仅在 apk 部署时执行一次,并且不再执行(小部件文本显示,但从不按照我的设置每 30m 更新一次)。
在这里配置...
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="146dip"
android:minHeight="72dip"
android:updatePeriodMillis="1800000"
android:initialLayout="@layout/widget_message"
/>
还 updatePeriodMillis 不能少于 30 分钟?这是调试时非常烦人的问题,因为每次运行我必须等待大约 30 分钟才能检查意图是否触发!
任何帮助表示赞赏。