Java 如何在启动时更新第三方小部件?

Java 如何在启动时更新第三方小部件?,java,android,widget,Java,Android,Widget,在我的应用程序中,用户可以从系统上安装的所有小部件中选择一个小部件,并将其添加到视图中 如果在设备引导完成之前启动应用程序,则不会更新小部件。如果我等到引导完成后再开始,它就会工作 因为这些小部件不是我自己的,所以我无法访问它们的WidgetProvider,也无法在“BOOT_COMPLETED”事件发生时更新它们 我怎样才能更新它们(如果可能的话) 更新: 我试过: Intent i = new Intent(context, MainActivity.class); i.setAction

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

如果在设备引导完成之前启动应用程序,则不会更新小部件。如果我等到引导完成后再开始,它就会工作

因为这些小部件不是我自己的,所以我无法访问它们的WidgetProvider,也无法在“BOOT_COMPLETED”事件发生时更新它们

我怎样才能更新它们(如果可能的话)

更新:

我试过:

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();