Share via


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. Siempre se llama a este método dentro del subproceso principal de su proceso, a menos que se le pida explícitamente que se programe en un subproceso diferente mediante android.content.Context#registerReceiver(BroadcastReceiver, IntentFilter, String, android.os.Handler). Cuando se ejecuta en el subproceso principal, nunca debe realizar operaciones de larga duración 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 se inició 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 en segundo plano de seguimiento, 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.

Los filtros de intención usados en android.content.Context#registerReceiver y en los manifiestos de aplicación son <em>not</em> garantizados para ser exclusivos. Son sugerencias para el sistema operativo sobre cómo buscar destinatarios adecuados. Es posible que los remitentes fuercen la entrega a destinatarios específicos, omitiendo 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 Project y que se usan según los términos Creative Commons 2.5 Attribution License.

Se aplica a