Compartir a través de


BroadcastReceiver.OnReceive(Context, Intent) Método

Definición

Se llama a este método cuando BroadcastReceiver recibe una difusión de intención.

[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

Parámetros

context
Context

Contexto en el que se ejecuta el receptor.

intent
Intent

Intención que se recibe.

Atributos

Comentarios

Se llama a este método cuando BroadcastReceiver recibe una difusión de intención. Durante este tiempo, puede usar los otros métodos de BroadcastReceiver para ver o modificar los valores de resultado actuales. Este método siempre se llama dentro del subproceso principal de su proceso, a menos que se le pida explícitamente que se programe en otro subproceso mediante android.content.Context#registerReceiver(BroadcastReceiver, IntentFilter, String, android.os.Handler). Cuando se ejecuta en el subproceso principal, nunca debe realizar operaciones de ejecución prolongada en él (hay un tiempo de espera de 10 segundos que el sistema permite antes de considerar que el receptor se bloqueará y se eliminará un candidato). No se puede iniciar un cuadro de diálogo emergente en la implementación de onReceive().

<b>Si este BroadcastReceiver fue lanzado a través de un < receptor> tag, el objeto ya no está activo después de volver de esta función.</b> Esto significa que no debe realizar ninguna operación que devuelva un resultado de forma asincrónica. Si necesita realizar cualquier trabajo de seguimiento en segundo plano, programe un android.app.job.JobService con android.app.job.JobScheduler.

Si desea interactuar con un servicio que ya se está ejecutando y enlazado previamente mediante android.content.Context#bindService(Intent, ServiceConnection, int) bindService(), puede usar #peekService.

Se garantiza que los filtros de intención usados en y en android.content.Context#registerReceiver los manifiestos de aplicación son <em>not</em> para ser exclusivos. Son sugerencias para el sistema operativo sobre cómo encontrar destinatarios adecuados. Es posible que los remitentes obliguan la entrega a destinatarios específicos, pasando la resolución de filtros. Por este motivo, #onReceive(Context, Intent) onReceive() las implementaciones solo deben responder a acciones conocidas, ignorando las intenciones inesperadas que pueden recibir.

Documentación de Java para android.content.BroadcastReceiver.onReceive(android.content.Context, android.content.Intent).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a