Condividi tramite


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 questo periodo è 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 consigliabile eseguire operazioni a esecuzione prolungata in esso (è presente un timeout di 10 secondi che il sistema consente prima di considerare il ricevitore bloccato e un candidato da uccidere). Non è possibile avviare una finestra di dialogo popup nell'implementazione di onReceive().

<b>Se questo BroadcastReceiver è stato lanciato tramite un < ricevitore> tag, quindi l'oggetto non è più attivo dopo la restituzione da questa funzione.</b> Ciò significa che non è consigliabile eseguire alcuna operazione che restituisca un risultato in modo asincrono. Se è necessario eseguire operazioni in background di completamento, 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 tramite 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 suggerimenti 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 potrebbero ricevere.

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

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a