Realización del despertador perfecto en Android | Autor: Hrithik Sharma | Agosto de 2021

Paso 1. Cree un BroadcastReceiver:

- Primero crea una clase extendida
BroadcastReceiverE implementaronReceive()Métodos en la clase
BroadcastReceiver Es una clase para recibir y procesar transmisiones enviadas a su aplicación. En el caso de una alarma del sistema, cuando suena la alarma, recibe una transmisión del servicio de alarma del sistema.
Siempre que su dispositivo se reinicie BroadcastReceiver Que te llamen y con la ayuda Intent Podemos usar la acción para volver a registrar todas las alertas. ACTION_BOOT_COMPLETED .
En otras partes, puede realizar sus tareas programadas (por ejemplo, enviar notificaciones de alerta).
Aprenderemos más sobre cómo enviar notificaciones a su aplicación en el próximo artículo.
- Registre este receptor en su
AndroidManifest.xmldocumento
<action android:name="android.intent.action.BOOT_COMPLETED"/> añadir <intent-filter> De esta forma podemos manejar esta situación para volver a registrar todas las alarmas programadas cuando se reinicia el dispositivo.
Paso 2: Establecer en el evento:
A continuación, se muestra una explicación paso a paso del código utilizado para programar una alerta en cualquier momento específico del evento:
- obtener
AlarmManagerEjemplo
AlarmManager Es en realidad un servicio del sistema, por lo que se puede descargar desde Context.getSystemService() Función con parámetros Context.ALARM_SERVICE.
Android permite enviar un conjunto de información al objetivo receiver (ES DECIR AlarmReceiver, Aquí es cuando se dispara la alarma definida en el paso 1).
El destinatario designado y la información correspondiente se pueden encontrar en Intent Configurándolo action y extra. Esta información estará disponible en el futuro onReceive() En la devolución de llamada especificada BroadcastReceiver y action Verifique los campos para asegurarse de que la transmisión del sistema sea correcta.
- Prepárese para PendingIntent
PendingIntent Es una referencia al token mantenido por el sistema Android. Por lo tanto, si el usuario mata la aplicación y puede transmitirse en algún momento en el futuro, seguirá funcionando.
Segundo parámetro getBroadcast() sí Código de solicitud Cuando desee programar varias alarmas, esta debe ser única para cada pendiente de intención.
para tu información:
Hay 4 funciones para la inicialización PendingIntent Pero solo se aplica 1 de ellos:
PendingIntent.getBroadcast()-Adecuado paraAlarmManagerPendingIntent.getActivity()PendingIntent.getActivities()PendingIntent.getService()
Los letreros indican cómo el sistema debe manejar nuevos y existentes PendingIntent Tener lo mismo Intent. 0 Indica que el sistema utilizará su método predeterminado para manejar la creación. PendingIntent. Aquí hay unos ejemplos:
- FLAG_UPDATE_CURRENT
- FLAG_CANCEL_CURRENT
- FLAG_IMMUTABLE
- Configure la hora de la alarma y envíela al sistema
La mejor forma de configurar la hora de la alarma es utilizar Calendar Propósito
La forma más sencilla de configurar una alarma es utilizar setExactAndAllowWhileIdle() Con parámetros RTC_WAKEUPNo importa si el sistema está en modo dormido (modo inactivo), esto le indicará a Android que active la alarma con precisión a la hora especificada.
Si quieres repetir tu alarma a una hora específica Día de la semana Luego:
Configure el día de la semana en el que desea que se repita la alarma Calendar.DAY_OF_WEEK Y use setRepeating() El método del administrador de alarmas.
Más métodos de alarmManager:
alarmManager.set()alarmManager.setExact()alarmManager.setAlarmClock()alarmManager.setInExactRepeating()alarmManager.setRepeating()alarmManager.setTime()alarmManager.setTimeZone()








![Arquitectura nativa de React - [part one] | Por Salama Salem | febrero de 2022 14 Arquitectura nativa de React - [part one] | Por Salama Salem | febrero de 2022](https://sistemaandroid.info/wp-content/uploads/2022/02/Arquitectura-nativa-de-React-part-one-Por-Salama-220x150.png)