Wenn ich lokale Broadcast von einem Dienst (IntentService) senden, wird es nicht in OnReceive in meinem AppWidgetProvider empfangen, aber die gleiche Broadcast wird empfangen, wenn nicht lokal gesendet. Es ist normal?Android AppWidgetProvider empfängt keine lokalen Broadcasts
EDIT: vergaß ich, dass in meinem AndroidManifest zu erwähnen ich <action>
innen <intent-filter>
für AppWidgetProvider <receiver>
wie diese:
<receiver android:name="MyAppWidget">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="my.package.MY_ACTION" />
</intent-filter>
...
und in MyAppWidget erstreckt AppWidgetProvider in 'OnReceive' Ich habe:
if (intent.getAction().equals("my.package.MY_ACTION")) {
// do something
}
Was meinen Sie mit "AppWidgetProvider wird nicht standardmäßig auf diese reagieren?" Muss ich sendBroadcast (Intent) anstelle von LocalBroadcastManager.getInstance (Kontext) .sendBroadcast (Intent) verwenden, um eine benutzerdefinierte (Nicht-System-) Übertragung an AppWidgetProvider zu senden? –
@MarekJ .: "Muss ich sendBroadcast (Intent) verwenden" - ja, oder senden Sie überhaupt keine Sendung, nach dem zweiten Absatz meiner Antwort. – CommonsWare
Danke für Hilfe! Ich frage mich, warum es nirgends in der AppWidgetProvider-Dokumentation heißt, dass lokale Broadcasts nicht empfangen werden? –