Grundsätzlich möchte ich eine Absicht treffen und sie von onReceive () meines BroadcastReceivers an einen Dienst weitergeben.
Bisher habe ich immer View.getContext () verwendet, aber hier stecke ich fest. Wie genau kann ich den Kontext abrufen, damit ich ihn verwenden kann public Intent (Context packageContext, Class<?> cls)
?
Nun, die oben erwähnte Antwort ist nicht von Nutzen. Sie können den Kontext verwenden, solange Sie sich in onReceive befinden. Sobald Ihr Code von onReceive zurückgegeben wurde, ist der Kontext nicht mehr vorhanden.
Ihre Problemstellung besagt also, dass Sie den Dienst unter Verwendung dieses Kontexts bei Ihrer Absichtserstellung starten und dann startService mit diesem Kontextobjekt aufrufen möchten. Das geht nicht.
Lesen Sie hier, was im BroadcastReceiver-Kontext möglich und nicht möglich ist.
http://developer.android.com/reference/android/content/BroadcastReceiver.html
quelle
Im BroadcastReceiver der
Methode liefert Kontext
so
um die Aktivität zu starten
und um die Dienstnutzung zu starten
quelle