Generalidades

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

Paso 1. Cree un BroadcastReceiver:

  • Primero crea una clase extendida BroadcastReceiver E implementar onReceive() 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.xml documento

<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 AlarmManager Ejemplo

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()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:

  1. PendingIntent.getBroadcast() -Adecuado para AlarmManager
  2. PendingIntent.getActivity()
  3. PendingIntent.getActivities()
  4. PendingIntent.getService()

Los letreros indican cómo el sistema debe manejar nuevos y existentes PendingIntent Tener lo mismo Intent. Indica que el sistema utilizará su método predeterminado para manejar la creación. PendingIntent. Aquí hay unos ejemplos:

  1. FLAG_UPDATE_CURRENT
  2. FLAG_CANCEL_CURRENT
  3. 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:

  1. alarmManager.set()
  2. alarmManager.setExact()
  3. alarmManager.setAlarmClock()
  4. alarmManager.setInExactRepeating()
  5. alarmManager.setRepeating()
  6. alarmManager.setTime()
  7. alarmManager.setTimeZone()

LEER  Guardar el estado de la actividad en Android

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba