如何在BOOT_COMPLETED更新第三方小部件?

时间:2015-04-15 18:55:41

标签: java android widget

在我的应用中,用户可以从系统上安装的所有小部件中选择一个小部件,并将其添加到视图中。

如果我在启动设备之前启动了我的应用程序,则不会更新窗口小部件。如果我等到启动完成并开始启动,那就可以了。

由于这些小部件不是我自己的小部件,我无法访问他们的WidgetProvider并且无法在事件发生时更新它们" BOOT_COMPLETED"发生的情况。

我怎么能更新它们(如果可能的话)?

更新

我试过了:

Intent i = new Intent(context, MainActivity.class);
i.setAction("android.appwidget.action.APPWIDGET_UPDATE");
context.sendBroadcast(i);

在BOOT_COMPLETED-BroadcastReceiver的onReceive中。不幸的是它不起作用。

2 个答案:

答案 0 :(得分:0)

收到BOOT_COMPLETED后,您可以尝试发送"android.appwidget.action.APPWIDGET_UPDATE"作为广播。

答案 1 :(得分:0)

对于那些在启动后没有自我更新的窗口小部件有问题我建议在onCreate和onDestroy中移动startListening和stopListening方法,如此处所报告http://selvaline.blogspot.it/2015/10/hosting-widgets-and-regurally-update.html

onCreate:
        mAppWidgetHost.startListening();

onDestroy:
        mAppWidgetHost.stopListening();