Context.RegisterReceiver Método

Definición

Sobrecargas

Nombre Description
RegisterReceiver(BroadcastReceiver, IntentFilter, String, Handler, ReceiverFlags)
RegisterReceiver(BroadcastReceiver, IntentFilter, String, Handler)

Regístrese para recibir difusión de intención, para ejecutarse en el contexto de <var scheduler</var>>.

RegisterReceiver(BroadcastReceiver, IntentFilter, String, Handler, ActivityFlags)
Obsoletos.

Regístrese para recibir difusión de intención, para ejecutarse en el contexto de <var scheduler</var>>.

RegisterReceiver(BroadcastReceiver, IntentFilter, ActivityFlags)
Obsoletos.

Regístrese para recibir difusión de intención, con el receptor que se expone opcionalmente a Instant Apps.

RegisterReceiver(BroadcastReceiver, IntentFilter)

Registre un objeto BroadcastReceiver para que se ejecute en el subproceso de actividad principal.

RegisterReceiver(BroadcastReceiver, IntentFilter, ReceiverFlags)

RegisterReceiver(BroadcastReceiver, IntentFilter, String, Handler, ReceiverFlags)

public Android.Content.Intent? RegisterReceiver(Android.Content.BroadcastReceiver? receiver, Android.Content.IntentFilter? filter, string? broadcastPermission, Android.OS.Handler? scheduler, Android.Content.ReceiverFlags flags);
member this.RegisterReceiver : Android.Content.BroadcastReceiver * Android.Content.IntentFilter * string * Android.OS.Handler * Android.Content.ReceiverFlags -> Android.Content.Intent

Parámetros

filter
IntentFilter
broadcastPermission
String
scheduler
Handler

Devoluciones

Se aplica a

RegisterReceiver(BroadcastReceiver, IntentFilter, String, Handler)

Regístrese para recibir difusión de intención, para ejecutarse en el contexto de <var scheduler</var>>.

[Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_Ljava_lang_String_Landroid_os_Handler_Handler")]
public abstract Android.Content.Intent? RegisterReceiver(Android.Content.BroadcastReceiver? receiver, Android.Content.IntentFilter? filter, string? broadcastPermission, Android.OS.Handler? scheduler);
[<Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_Ljava_lang_String_Landroid_os_Handler_Handler")>]
abstract member RegisterReceiver : Android.Content.BroadcastReceiver * Android.Content.IntentFilter * string * Android.OS.Handler -> Android.Content.Intent

Parámetros

receiver
BroadcastReceiver

BroadcastReceiver para controlar la difusión.

filter
IntentFilter

Selecciona las transmisiones de intención que se van a recibir.

broadcastPermission
String

Cadena que le asigne un nombre a los permisos que debe contener un emisor para enviar una intención. Si es null, no se requiere ningún permiso.

scheduler
Handler

Controlador que identifica el subproceso que recibirá la intención. Si es null, se usará el subproceso principal del proceso.

Devoluciones

La primera intención pegajosa encontró que coincide con <var>filter</var>, o null si no hay ninguna.

Atributos

Comentarios

Regístrese para recibir difusión de intención, para ejecutarse en el contexto de <var scheduler</var>>. Consulte #registerReceiver(BroadcastReceiver, IntentFilter) para obtener más información. Esto le permite aplicar permisos sobre quién puede difundir intenciones al receptor o hacer que el receptor se ejecute en un subproceso diferente al del subproceso de aplicación principal.

Consulte BroadcastReceiver para obtener más información sobre las transmisiones de intención.

A partir de android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE, el sistema puede colocar las difusión registradas en contexto en una cola mientras la aplicación está en estado almacenado en caché. Cuando la aplicación deja el estado almacenado en caché, como volver al primer plano, el sistema entrega las difusiones en cola. Es posible que se combinen varias instancias de determinadas difusión en una difusión.

A partir de android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH, los receptores registrados con este método respetarán correctamente el Intent#setPackage(String) especificado para una intención que se está transmitiendo. Antes de eso, se omitiría y se entregaría a todos los receptores registrados coincidentes. Tenga cuidado si usa esto para la seguridad.

En el caso de las aplicaciones destinadas android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKEa , se #RECEIVER_EXPORTED debe especificar o #RECEIVER_NOT_EXPORTED si el receptor no está registrado para las difusión del sistema o se producirá una SecurityException excepción . Consulte #registerReceiver(BroadcastReceiver, IntentFilter, String, Handler, int) para registrar un receptor con marcas.

Java documentación para android.content.Context.registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Consulte también

Se aplica a

RegisterReceiver(BroadcastReceiver, IntentFilter, String, Handler, ActivityFlags)

Precaución

This method has an incorrect enumeration type. Use the overload that takes ReceiverFlags instead.

Regístrese para recibir difusión de intención, para ejecutarse en el contexto de <var scheduler</var>>.

[Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;I)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_Ljava_lang_String_Landroid_os_Handler_IHandler", ApiSince=26)]
[System.Obsolete("This method has an incorrect enumeration type. Use the overload that takes ReceiverFlags instead.")]
public abstract Android.Content.Intent? RegisterReceiver(Android.Content.BroadcastReceiver? receiver, Android.Content.IntentFilter? filter, string? broadcastPermission, Android.OS.Handler? scheduler, Android.Content.ActivityFlags flags);
[<Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;I)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_Ljava_lang_String_Landroid_os_Handler_IHandler", ApiSince=26)>]
[<System.Obsolete("This method has an incorrect enumeration type. Use the overload that takes ReceiverFlags instead.")>]
abstract member RegisterReceiver : Android.Content.BroadcastReceiver * Android.Content.IntentFilter * string * Android.OS.Handler * Android.Content.ActivityFlags -> Android.Content.Intent

Parámetros

receiver
BroadcastReceiver

BroadcastReceiver para controlar la difusión.

filter
IntentFilter

Selecciona las transmisiones de intención que se van a recibir.

broadcastPermission
String

Cadena que le asigne un nombre a los permisos que debe contener un emisor para enviar una intención. Si es null, no se requiere ningún permiso.

scheduler
Handler

Controlador que identifica el subproceso que recibirá la intención. Si es null, se usará el subproceso principal del proceso.

flags
ActivityFlags

Opciones adicionales para el receptor. En el caso de las aplicaciones destinadas android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE a o #RECEIVER_EXPORTED#RECEIVER_NOT_EXPORTED deben especificarse si el receptor no está registrado para las difusión del sistema o se producirá una SecurityException excepción . Si #RECEIVER_EXPORTED se especifica , un receptor puede especificar #RECEIVER_VISIBLE_TO_INSTANT_APPSademás . Para obtener una lista completa de las acciones de difusión del sistema, consulte el archivo BROADCAST_ACTIONS.TXT en Android SDK. Si se especifican y #RECEIVER_EXPORTED#RECEIVER_NOT_EXPORTED , se producirá una IllegalArgumentException excepción .

Devoluciones

La primera intención pegajosa encontró que coincide con <var>filter</var>, o null si no hay ninguna.

Atributos

Comentarios

Regístrese para recibir difusión de intención, para ejecutarse en el contexto de <var scheduler</var>>. Consulte #registerReceiver(BroadcastReceiver, IntentFilter, int) y #registerReceiver(BroadcastReceiver, IntentFilter, String, Handler) para obtener más información.

Consulte BroadcastReceiver para obtener más información sobre las transmisiones de intención.

A partir de android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE, el sistema puede colocar las difusión registradas en contexto en una cola mientras la aplicación está en estado almacenado en caché. Cuando la aplicación deja el estado almacenado en caché, como volver al primer plano, el sistema entrega las difusiones en cola. Es posible que se combinen varias instancias de determinadas difusión en una difusión.

A partir de android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH, los receptores registrados con este método respetarán correctamente el Intent#setPackage(String) especificado para una intención que se está transmitiendo. Antes de eso, se omitiría y se entregaría a todos los receptores registrados coincidentes. Tenga cuidado si usa esto para la seguridad.

Java documentación para android.content.Context.registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a

RegisterReceiver(BroadcastReceiver, IntentFilter, ActivityFlags)

Precaución

This method has an incorrect enumeration type. Use the overload that takes ReceiverFlags instead.

Regístrese para recibir difusión de intención, con el receptor que se expone opcionalmente a Instant Apps.

[Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_IHandler", ApiSince=26)]
[System.Obsolete("This method has an incorrect enumeration type. Use the overload that takes ReceiverFlags instead.")]
public abstract Android.Content.Intent? RegisterReceiver(Android.Content.BroadcastReceiver? receiver, Android.Content.IntentFilter? filter, Android.Content.ActivityFlags flags);
[<Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_IHandler", ApiSince=26)>]
[<System.Obsolete("This method has an incorrect enumeration type. Use the overload that takes ReceiverFlags instead.")>]
abstract member RegisterReceiver : Android.Content.BroadcastReceiver * Android.Content.IntentFilter * Android.Content.ActivityFlags -> Android.Content.Intent

Parámetros

receiver
BroadcastReceiver

BroadcastReceiver para controlar la difusión.

filter
IntentFilter

Selecciona las transmisiones de intención que se van a recibir.

flags
ActivityFlags

Opciones adicionales para el receptor. En el caso de las aplicaciones destinadas android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE a o #RECEIVER_EXPORTED#RECEIVER_NOT_EXPORTED deben especificarse si el receptor no está registrado para las difusión del sistema o se producirá una SecurityException excepción . Si #RECEIVER_EXPORTED se especifica , un receptor puede especificar #RECEIVER_VISIBLE_TO_INSTANT_APPSademás . Para obtener una lista completa de las acciones de difusión del sistema, consulte el archivo BROADCAST_ACTIONS.TXT en Android SDK. Si se especifican y #RECEIVER_EXPORTED#RECEIVER_NOT_EXPORTED , se producirá una IllegalArgumentException excepción .

Devoluciones

La primera intención pegajosa encontró que coincide con <var>filter</var>, o null si no hay ninguna.

Atributos

Comentarios

Regístrese para recibir difusión de intención, con el receptor que se expone opcionalmente a Instant Apps. Consulte #registerReceiver(BroadcastReceiver, IntentFilter) para obtener más información. De forma predeterminada, Instant Apps no puede interactuar con receptores en otras aplicaciones, lo que le permite exponer un receptor con el que Las aplicaciones instantáneas pueden interactuar.

Consulte BroadcastReceiver para obtener más información sobre las transmisiones de intención.

A partir de android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE, el sistema puede colocar las difusión registradas en contexto en una cola mientras la aplicación está en estado almacenado en caché. Cuando la aplicación deja el estado almacenado en caché, como volver al primer plano, el sistema entrega las difusiones en cola. Es posible que se combinen varias instancias de determinadas difusión en una difusión.

A partir de android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH, los receptores registrados con este método respetarán correctamente el Intent#setPackage(String) especificado para una intención que se está transmitiendo. Antes de eso, se omitiría y se entregaría a todos los receptores registrados coincidentes. Tenga cuidado si usa esto para la seguridad.

Java documentación para android.content.Context.registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a

RegisterReceiver(BroadcastReceiver, IntentFilter)

Registre un objeto BroadcastReceiver para que se ejecute en el subproceso de actividad principal.

[Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_Handler")]
public abstract Android.Content.Intent? RegisterReceiver(Android.Content.BroadcastReceiver? receiver, Android.Content.IntentFilter? filter);
[<Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_Handler")>]
abstract member RegisterReceiver : Android.Content.BroadcastReceiver * Android.Content.IntentFilter -> Android.Content.Intent

Parámetros

receiver
BroadcastReceiver

BroadcastReceiver para controlar la difusión.

filter
IntentFilter

Selecciona las transmisiones de intención que se van a recibir.

Devoluciones

La primera intención pegajosa encontró que coincide con <var>filter</var>, o null si no hay ninguna.

Atributos

Comentarios

Registre un objeto BroadcastReceiver para que se ejecute en el subproceso de actividad principal. Se llamará a <var>receiver</var> con cualquier intención de difusión que coincida <con var>filter</var>, en el subproceso de aplicación principal.

El sistema puede difundir intenciones que son "permanentes", estas permanecen después de que la difusión haya finalizado, para que se envíen a cualquier registro posterior. Si intentFilter coincide con una de estas intenciones permanentes, esta función <devolverá esa intención fuerte>y</fuerte> enviada a su <receptor</>var var> como si se hubiera transmitido.

Puede haber varias intenciones permanentes que coincidan con var filter/var>, en cuyo caso cada una de estas se enviará a <var>receiver</var>.<>< En este caso, solo la función puede devolver directamente una de estas; el sistema decide arbitrariamente cuáles de estos elementos se devuelven.

Si sabe que la intención para la que se está registrando es permanente, puede proporcionar null para el <receptor</>var> var. En este caso, no se registra ningún receptor: la función simplemente devuelve la intención pegajosa que coincide con <el filtro< var>/var>. En el caso de varias coincidencias, se aplican las mismas reglas que se han descrito anteriormente.

Consulte BroadcastReceiver para obtener más información sobre las transmisiones de intención.

A partir de android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE, el sistema puede colocar las difusión registradas en contexto en una cola mientras la aplicación está en estado almacenado en caché. Cuando la aplicación deja el estado almacenado en caché, como volver al primer plano, el sistema entrega las difusiones en cola. Es posible que se combinen varias instancias de determinadas difusión en una difusión.

A partir de android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH, los receptores registrados con este método respetarán correctamente el Intent#setPackage(String) especificado para una intención que se está transmitiendo. Antes de eso, se omitiría y se entregaría a todos los receptores registrados coincidentes. Tenga cuidado si usa esto para la seguridad.

En el caso de las aplicaciones destinadas android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKEa , se #RECEIVER_EXPORTED debe especificar o #RECEIVER_NOT_EXPORTED si el receptor no está registrado para las difusión del sistema o se producirá una SecurityException excepción . Consulte #registerReceiver(BroadcastReceiver, IntentFilter, int) para registrar un receptor con marcas.

Nota: este método <em>no se puede llamar desde un BroadcastReceiver componente;</em> es decir, desde un BroadcastReceiver que se declara en el manifiesto de una aplicación. Sin embargo, es correcto llamar a este método desde otro BroadcastReceiver que se ha registrado en tiempo de ejecución con #registerReceiver, ya que la duración de un broadcastReceiver registrado está vinculada al objeto que lo registró.

Java documentación para android.content.Context.registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Consulte también

Se aplica a

RegisterReceiver(BroadcastReceiver, IntentFilter, ReceiverFlags)

public Android.Content.Intent? RegisterReceiver(Android.Content.BroadcastReceiver? receiver, Android.Content.IntentFilter? filter, Android.Content.ReceiverFlags flags);
member this.RegisterReceiver : Android.Content.BroadcastReceiver * Android.Content.IntentFilter * Android.Content.ReceiverFlags -> Android.Content.Intent

Parámetros

filter
IntentFilter

Devoluciones

Se aplica a