Context.RegisterReceiver Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- receiver
- BroadcastReceiver
- filter
- IntentFilter
- broadcastPermission
- String
- scheduler
- Handler
- flags
- ReceiverFlags
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.
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
- <xref:Android.Content.Context.RegisterReceiver(Android.Content.BroadcastReceiver%2c+Android.Content.IntentFilter)>
- SendBroadcast(Intent)
- UnregisterReceiver(BroadcastReceiver)
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.
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.
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ó.
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
- <xref:Android.Content.Context.RegisterReceiver(Android.Content.BroadcastReceiver%2c+Android.Content.IntentFilter%2c+Android.Content.IntentFilter%2c+Android.Content.IntentFilter)>
- SendBroadcast(Intent)
- UnregisterReceiver(BroadcastReceiver)
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
- receiver
- BroadcastReceiver
- filter
- IntentFilter
- flags
- ReceiverFlags