2015-04-15 24 views
0

在我的应用程序中,用户可以从安装在系统上的所有小部件中选取一个小部件,并将其添加到视图中。如何在BOOT_COMPLETED更新第三方小部件?

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

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

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

更新:

我想:

Intent i = new Intent(context, MainActivity.class); 
i.setAction("android.appwidget.action.APPWIDGET_UPDATE"); 
context.sendBroadcast(i); 
在BOOT_COMPLETED,广播接收器的的onReceive

。不幸的是它不工作。

回答

0

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

+0

谢谢你不开机,我建议在移动和的onCreate的onDestroy startListening和的stopListening方法后更新,您就可以更精确这是怎么回事? – treesoft

+0

“context.sendBroadcast(”android.appwidget.action.APPWIDGET_UPDATE“);”不是有效的表达式,因为sendBroadcast不接受字符串。我在我的问题中加入了我的尝试。不工作,虽然 – treesoft

+0

尝试context.sendBroadcast(新的意图(“android.appwidget.action.APPWIDGET_UPDATE”)); – abhishesh