当我从服务发送本地广播(扩展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
}
答案 0 :(得分:2)
如果是“本地广播”,则表示LocalBroadcastManager
,AppWidgetProvider
默认情况下不会响应。 AppWidgetProvider
正在通过其<receiver>
元素监听系统广播。
此外,这不应该是必要的。 AppWidgetProvider
没有什么神奇之处 - 它只是系统的一个指定位置,让您了解应用小部件状态的变化。您可以通过AppWidgetManager
。