如何在BOOT_COMPLETED更新第三方小部件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在BOOT_COMPLETED更新第三方小部件?相关的知识,希望对你有一定的参考价值。
在我的应用程序中,用户可以从系统上安装的所有小部件中选择一个小部件,并将其添加到视图中。
如果我在启动设备之前启动我的应用程序,则不会更新窗口小部件。如果我等到启动完成然后启动,它就可以工作了。
由于这些小部件不是我自己的小部件,我无法访问他们的WidgetProvider,并且当事件“BOOT_COMPLETED”发生时无法更新它们。
我怎么能更新它们(如果可能的话)?
更新:
我试过了:
Intent i = new Intent(context, MainActivity.class);
i.setAction("android.appwidget.action.APPWIDGET_UPDATE");
context.sendBroadcast(i);
在BOOT_COMPLETED-BroadcastReceiver的onReceive中。不幸的是它没有用。
答案
收到BOOT_COMPLETED后,您可以尝试将"android.appwidget.action.APPWIDGET_UPDATE"
作为广播发送。
另一答案
对于那些在启动后没有自我更新的小部件有问题我建议在onCreate和onDestroy中移动startListening和stopListening方法,如此处所报告的http://selvaline.blogspot.it/2015/10/hosting-widgets-and-regurally-update.html
onCreate:
mAppWidgetHost.startListening();
onDestroy:
mAppWidgetHost.stopListening();
以上是关于如何在BOOT_COMPLETED更新第三方小部件?的主要内容,如果未能解决你的问题,请参考以下文章