BroadcastReceiver.OnReceive(Context, Intent) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Diese Methode wird aufgerufen, wenn der BroadcastReceiver eine Absichtsübertragung empfängt.
[Android.Runtime.Register("onReceive", "(Landroid/content/Context;Landroid/content/Intent;)V", "GetOnReceive_Landroid_content_Context_Landroid_content_Intent_Handler")]
public abstract void OnReceive (Android.Content.Context? context, Android.Content.Intent? intent);
[<Android.Runtime.Register("onReceive", "(Landroid/content/Context;Landroid/content/Intent;)V", "GetOnReceive_Landroid_content_Context_Landroid_content_Intent_Handler")>]
abstract member OnReceive : Android.Content.Context * Android.Content.Intent -> unit
Parameter
- context
- Context
Der Kontext, in dem der Empfänger ausgeführt wird.
- intent
- Intent
Die empfangene Absicht.
- Attribute
Hinweise
Diese Methode wird aufgerufen, wenn der BroadcastReceiver eine Absichtsübertragung empfängt. Während dieser Zeit können Sie die anderen Methoden auf BroadcastReceiver verwenden, um die aktuellen Ergebniswerte anzuzeigen/zu ändern. Diese Methode wird immer innerhalb des Standard Threads ihres Prozesses aufgerufen, es sei denn, Sie haben explizit aufgefordert, dass sie für einen anderen Thread mit android.content.Context#registerReceiver(BroadcastReceiver, IntentFilter, String, android.os.Handler)
geplant wird. Wenn es auf dem Standard Thread ausgeführt wird, sollten Sie niemals Vorgänge mit langer Ausführung in diesem ausführen (es gibt ein Timeout von 10 Sekunden, das das System zulässt, bevor der Empfänger blockiert und ein Kandidat getötet werden soll). Sie können in Ihrer Implementierung von onReceive() kein Popupdialogfeld starten.
<b>Wenn dieser BroadcastReceiver über einen < Empfänger> tag, dann ist das Objekt nach der Rückgabe von dieser Funktion nicht mehr aktiv.</b> Dies bedeutet, dass Sie keine Vorgänge ausführen sollten, die Ihnen asynchron ein Ergebnis zurückgeben. Wenn Sie Nachverfolgungsvorgänge im Hintergrund ausführen müssen, planen Sie einen android.app.job.JobService
mit android.app.job.JobScheduler
ein.
Wenn Sie mit einem Dienst interagieren möchten, der bereits ausgeführt und zuvor mit android.content.Context#bindService(Intent, ServiceConnection, int) bindService()
gebunden ist, können Sie verwenden #peekService
.
Die in und in android.content.Context#registerReceiver
Anwendungsmanifesten verwendeten Absichtsfilter sind<<>> garantiert exklusiv. Sie sind Hinweise an das Betriebssystem, wie sie geeignete Empfänger finden. Es ist möglich, dass Absender die Übermittlung an bestimmte Empfänger erzwingen und die Filterauflösung umgehen. Aus diesem Grund #onReceive(Context, Intent) onReceive()
sollten Implementierungen nur auf bekannte Aktionen reagieren und unerwartete Absichten ignorieren, die sie möglicherweise erhalten.
Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.