Share via


BroadcastReceiver.OnReceive(Context, Intent) Methode

Definition

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.JobSchedulerein.

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.

Java-Dokumentation für android.content.BroadcastReceiver.onReceive(android.content.Context, android.content.Intent).

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.

Gilt für: