BroadcastReceiver.OnReceive(Context, Intent) Metodo

Definizione

Questo metodo viene chiamato quando broadcastReceiver riceve una trasmissione Intent.

[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

Parametri

context
Context

Contesto in cui è in esecuzione il ricevitore.

intent
Intent

Finalità ricevuta.

Attributi

Commenti

Questo metodo viene chiamato quando broadcastReceiver riceve una trasmissione Intent. Durante questa fase è possibile usare gli altri metodi in BroadcastReceiver per visualizzare/modificare i valori dei risultati correnti. Questo metodo viene sempre chiamato all'interno del thread principale del relativo processo, a meno che non venga richiesto esplicitamente di pianificarlo in un thread diverso usando android.content.Context#registerReceiver(BroadcastReceiver, IntentFilter, String, android.os.Handler). Quando viene eseguito sul thread principale, non è mai necessario eseguire operazioni a esecuzione prolungata in esso (c'è un timeout di 10 secondi che il sistema consente prima di considerare il ricevitore da bloccare e un candidato da uccidere). Non è possibile avviare una finestra di dialogo popup nell'implementazione di onReceive().

<b>Se questo BroadcastReceiver è stato avviato tramite un < ricevitore> tag, quindi l'oggetto non è più attivo dopo aver restituito da questa funzione.</b> Ciò significa che non è consigliabile eseguire operazioni che restituiscono un risultato in modo asincrono. Se è necessario eseguire qualsiasi lavoro in background, pianificare un android.app.job.JobService oggetto con android.app.job.JobScheduler.

Se si vuole interagire con un servizio già in esecuzione e associato in precedenza usando android.content.Context#bindService(Intent, ServiceConnection, int) bindService(), è possibile usare #peekService.

I filtri finalità usati in android.content.Context#registerReceiver e nei manifesti dell'applicazione sono <em>not</em> garantiti per essere esclusivi. Sono hint per il sistema operativo su come trovare destinatari adatti. È possibile che i mittenti forzano il recapito a destinatari specifici, ignorando la risoluzione dei filtri. Per questo motivo, #onReceive(Context, Intent) onReceive() le implementazioni devono rispondere solo alle azioni note, ignorando eventuali finalità impreviste che possono ricevere.

Documentazione Java per android.content.BroadcastReceiver.onReceive(android.content.Context, android.content.Intent).

Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .

Si applica a