AlarmManager.Set 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 |
|---|---|
| Set(AlarmType, Int64, String, AlarmManager+IOnAlarmListener, Handler) |
Versión de devolución de llamada directa de set(int,long,PendingIntent). |
| Set(AlarmType, Int64, PendingIntent) |
Programe una alarma. |
Set(AlarmType, Int64, String, AlarmManager+IOnAlarmListener, Handler)
Versión de devolución de llamada directa de set(int,long,PendingIntent).
[Android.Runtime.Register("set", "(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V", "GetSet_IJLjava_lang_String_Landroid_app_AlarmManager_OnAlarmListener_Landroid_os_Handler_Handler", ApiSince=24)]
public virtual void Set(Android.App.AlarmType type, long triggerAtMillis, string? tag, Android.App.AlarmManager.IOnAlarmListener listener, Android.OS.Handler? targetHandler);
[<Android.Runtime.Register("set", "(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V", "GetSet_IJLjava_lang_String_Landroid_app_AlarmManager_OnAlarmListener_Landroid_os_Handler_Handler", ApiSince=24)>]
abstract member Set : Android.App.AlarmType * int64 * string * Android.App.AlarmManager.IOnAlarmListener * Android.OS.Handler -> unit
override this.Set : Android.App.AlarmType * int64 * string * Android.App.AlarmManager.IOnAlarmListener * Android.OS.Handler -> unit
Parámetros
- type
- AlarmType
int: tipo de alarma. El valor es uno de los siguientes: RTC_WAKEUP RTC ELAPSED_REALTIME_WAKEUP ELAPSED_REALTIME
- triggerAtMillis
- Int64
long: tiempo en milisegundos que la alarma debe apagarse, utilizando el reloj adecuado (dependiendo del tipo de alarma).
- tag
- String
String: cadena que describe la alarma, utilizada para la atribución de uso de batería y registro. Este valor puede ser null.
- listener
- AlarmManager.IOnAlarmListener
AlarmManager.OnAlarmListener: instancia de OnAlarmListener cuyo método onAlarm() se llamará cuando se alcance la hora de alarma. Una instancia de OnAlarmListener determinada solo puede ser el destino de una única alarma pendiente, al igual que una instancia de PendingIntent determinada solo se puede usar con una alarma a la vez. Este valor no puede ser nulo.
- targetHandler
- Handler
Controlador: controlador en el que se ejecuta la devolución de llamada onAlarm() del agente de escucha o null para ejecutar esa devolución de llamada en el bucle principal.
- Atributos
Comentarios
Versión de devolución de llamada directa de set(int,long,PendingIntent). En lugar de proporcionar un PendingIntent para enviarse cuando se alcanza el tiempo de alarma, esta variante proporciona una instancia de OnAlarmListener que se invocará en ese momento. El sistema Android puede cancelar las alarmas basadas en el cliente de escucha siempre que el proceso de llamada ya no tenga componentes en ejecución, como Actividad, Servicio o ContentProvider, por lo que solo se usan estas API cuando no es necesario recibir alarmas después de que finalice el componente actual y asegúrese también de cancelarlos (OnAlarmListener) cuando lo haga. Por ejemplo, si usa estas API desde una actividad, asegúrese de cancelar las alarmas respectivas cuando finalice la actividad. Si necesita recibir la alarma incluso después de eso, use las API basadas en PendingIntent. El método onAlarmListener de OnAlarm() se invocará a través del controlador de destino especificado, o en el bucle principal de la aplicación si null se pasa como parámetro targetHandler.
Referencia de Android para android.app.AlarmManager.set.
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
Set(AlarmType, Int64, PendingIntent)
Programe una alarma.
[Android.Runtime.Register("set", "(IJLandroid/app/PendingIntent;)V", "GetSet_IJLandroid_app_PendingIntent_Handler")]
public virtual void Set(Android.App.AlarmType type, long triggerAtMillis, Android.App.PendingIntent operation);
[<Android.Runtime.Register("set", "(IJLandroid/app/PendingIntent;)V", "GetSet_IJLandroid_app_PendingIntent_Handler")>]
abstract member Set : Android.App.AlarmType * int64 * Android.App.PendingIntent -> unit
override this.Set : Android.App.AlarmType * int64 * Android.App.PendingIntent -> unit
Parámetros
- type
- AlarmType
tipo de alarma.
- triggerAtMillis
- Int64
tiempo en milisegundos que la alarma debe apagarse, utilizando el reloj adecuado (dependiendo del tipo de alarma).
- operation
- PendingIntent
Acción que se debe realizar cuando se apaga la alarma; normalmente procede de PendingIntent#getBroadcast
IntentSender.getBroadcast().
- Atributos
Comentarios
Programe una alarma. Nota: para las operaciones de control de tiempo (tics, tiempos de espera, etc.), es más fácil y mucho más eficaz usar handler. Si ya hay una alarma programada para el mismo IntentSender, esa alarma anterior se cancelará primero. Si el tiempo de desencadenador indicado está en el pasado, la alarma se desencadenará inmediatamente. Si ya hay una alarma para esta intención programada (con la igualdad de dos intenciones definidas por Intent.filterEquals), se quitará y reemplazará por esta. La alarma es una difusión de intención que va a un receptor de difusión que registró con Context.registerReceiver(BroadcastReceiver, IntentFilter) o a través de la <etiqueta receptora> en un archivo AndroidManifest.xml. Las intenciones de alarma se entregan con un dato adicional de tipo int llamado Intent.EXTRA_ALARM_COUNT que indica cuántos eventos de alarma anteriores se han acumulado en esta difusión de intención. Las alarmas periódicas que no se han entregado porque el teléfono estaba dormido puede tener un recuento mayor que uno cuando se entregó. Nota: A partir de la API 19, el tiempo de desencadenador pasado a este método se trata como inexacto: la alarma no se entregará antes de este tiempo, pero puede aplazarse y entregarse algún tiempo más tarde. El sistema operativo usará esta directiva para "lotes" alarmas juntas en todo el sistema, minimizando el número de veces que el dispositivo necesita "despertar" y minimizar el uso de la batería. En general, las alarmas programadas en el futuro próximo no se aplazarán siempre que las alarmas programadas lejos en el futuro. Con la nueva directiva de procesamiento por lotes, las garantías de pedidos de entrega no son tan seguras como antes. Si la aplicación establece varias alarmas, es posible que estos pedidos de entrega reales de estas alarmas no coincidan con el pedido de sus tiempos de entrega solicitados. Si la aplicación tiene requisitos de ordenación sólidos, hay otras API que puede usar para obtener el comportamiento necesario; vea setWindow(int,long,long,PendingIntent) y setExact(int,long,PendingIntent). Las aplicaciones cuyo targetSdkVersion es anterior a la API 19 seguirán recibiendo el comportamiento de alarma anterior: todas sus alarmas programadas se tratarán como exactas.
Consulte también:
Referencia de Android para android.app.AlarmManager.set.
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.