Android AppWidgetProvider未接收本地广播

时间:2016-06-15 12:18:06

标签: android broadcast android-appwidget

当我从服务发送本地广播(扩展IntentService)时,我的AppWidgetProvider中没有收到onReceive,但如果没有在本地发送,则会收到相同的广播。这是正常的吗?

编辑: 我忘了在我的AndroidManifest中提到我在<action>内有<intent-filter>的AppWidgetProvider <receiver>,如下所示:

<receiver android:name="MyAppWidget">
<intent-filter>
    <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    <action android:name="my.package.MY_ACTION" />
</intent-filter>
...

在MyAppWidget中,在'onReceive'中扩展AppWidgetProvider我有:

if (intent.getAction().equals("my.package.MY_ACTION")) {
    // do something
}

1 个答案:

答案 0 :(得分:2)

如果是“本地广播”,则表示LocalBroadcastManagerAppWidgetProvider默认情况下不会响应。 AppWidgetProvider正在通过其<receiver>元素监听系统广播。

此外,这不应该是必要的。 AppWidgetProvider没有什么神奇之处 - 它只是系统的一个指定位置,让您了解应用小部件状态的变化。您可以通过AppWidgetManager

更新应用的任何部分中的应用小部件内容