在我的应用中,用户可以从系统上安装的所有小部件中选择一个小部件,并将其添加到视图中。
如果我在启动设备之前启动了我的应用程序,则不会更新窗口小部件。如果我等到启动完成并开始启动,那就可以了。
由于这些小部件不是我自己的小部件,我无法访问他们的WidgetProvider并且无法在事件发生时更新它们" BOOT_COMPLETED"发生的情况。
我怎么能更新它们(如果可能的话)?
更新
我试过了:
Intent i = new Intent(context, MainActivity.class);
i.setAction("android.appwidget.action.APPWIDGET_UPDATE");
context.sendBroadcast(i);
在BOOT_COMPLETED-BroadcastReceiver的onReceive中。不幸的是它不起作用。
答案 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();