Java 如何在启动时更新第三方小部件?
在我的应用程序中,用户可以从系统上安装的所有小部件中选择一个小部件,并将其添加到视图中 如果在设备引导完成之前启动应用程序,则不会更新小部件。如果我等到引导完成后再开始,它就会工作 因为这些小部件不是我自己的,所以我无法访问它们的WidgetProvider,也无法在“BOOT_COMPLETED”事件发生时更新它们 我怎样才能更新它们(如果可能的话) 更新: 我试过:Java 如何在启动时更新第三方小部件?,java,android,widget,Java,Android,Widget,在我的应用程序中,用户可以从系统上安装的所有小部件中选择一个小部件,并将其添加到视图中 如果在设备引导完成之前启动应用程序,则不会更新小部件。如果我等到引导完成后再开始,它就会工作 因为这些小部件不是我自己的,所以我无法访问它们的WidgetProvider,也无法在“BOOT_COMPLETED”事件发生时更新它们 我怎样才能更新它们(如果可能的话) 更新: 我试过: Intent i = new Intent(context, MainActivity.class); i.setAction
Intent i = new Intent(context, MainActivity.class);
i.setAction("android.appwidget.action.APPWIDGET_UPDATE");
context.sendBroadcast(i);
在引导接收器的onReceive中。不幸的是,它不起作用。您可以尝试发送
“android.appwidget.action.appwidget\u更新”
一旦您收到引导,即广播。对于那些在引导后无法自我更新的小部件有问题的人,我建议将onCreate和onDestroy中的startListening和stopListening方法移动到此处报告的位置
谢谢,您能更精确地描述一下吗?“context.sendBroadcast(“android.appwidget.action.appwidget_UPDATE”);”不是有效的表达式,因为sendBroadcast不接受字符串。我在我的问题上补充了我所做的努力。thoughtry context.sendBroadcast(新意图(“android.appwidget.action.appwidget_UPDATE”))不起作用;也不行。也许这只适用于主屏幕上的小部件?
onCreate:
mAppWidgetHost.startListening();
onDestroy:
mAppWidgetHost.stopListening();