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

问题描述 投票:0回答:2

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

如果我在启动设备之前启动我的应用程序,则不会更新窗口小部件。如果我等到启动完成然后启动,它就可以工作了。

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

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

更新:

我试过了:

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

在BOOT_COMPLETED-BroadcastReceiver的onReceive中。不幸的是它没有用。

java android widget
2个回答
0
投票

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


0
投票

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

onCreate:
        mAppWidgetHost.startListening();

onDestroy:
        mAppWidgetHost.stopListening();
© www.soinside.com 2019 - 2024. All rights reserved.