Android 12 AlarmManager: планирование сигналов тревоги с примерами кода

Android AlarmManager – это полезный класс для планирования и управления сигналами тревоги в приложениях Android. В Android 12 вы можете использовать AlarmManager для планирования различных задач, таких как запуск события в определенное время или повторение действия через определенные промежутки времени. Вот несколько методов, которые можно использовать с примерами кода:

  1. Запланировать одноразовый сигнал:

    AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(this, MyAlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(System.currentTimeMillis());
    calendar.set(Calendar.HOUR_OF_DAY, 8);
    calendar.set(Calendar.MINUTE, 0);
    alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
  2. Запланировать повторяющийся будильник:

    AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(this, MyAlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(System.currentTimeMillis());
    calendar.set(Calendar.HOUR_OF_DAY, 8);
    calendar.set(Calendar.MINUTE, 0);
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 24 * 60 * 60 * 1000, pendingIntent);
  3. Запланируйте будильник с настраиваемым интервалом:

    AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(this, MyAlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
    long intervalMillis = 60 * 60 * 1000; // 1 hour
    alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), intervalMillis, pendingIntent);

Это всего лишь несколько примеров того, как вы можете использовать AlarmManager в Android 12. Не забудьте объявить класс MyAlarmReceiverв файле манифеста и реализовать внутри него нужную логику.