BroadcastReceiver.OnReceive(Context, Intent) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.
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 .