Есть ли Android API для удаления будильников

У меня есть приложение, которое позволяет пользователю устанавливать будильник в разное время. В настоящее время он использует AlarmManager, а также BroadcastReceiver и AlertDialog для оповещения пользователя о срабатывании сигнализации.

Я хотел бы посмотреть, может ли мое приложение использовать встроенный будильник. Я знаю, что могу запланировать будильник следующим образом:

            Intent i = new Intent(AlarmClock.ACTION_SET_ALARM);
        i.putExtra(AlarmClock.EXTRA_HOUR, new Date(alarm.getTime()).getHours());
        i.putExtra(AlarmClock.EXTRA_MINUTES, new Date(alarm.getTime()).getMinutes());
        i.putExtra(AlarmClock.EXTRA_MINUTES, alarm.getDescription());
        i.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
        context.startActivity(i);

, но это создает 2 проблемы:

  1. похоже, нет способа запланировать будильник на более чем 24 часа в будущем
  2. встроенный в Android будильник позволяет только 10 будильников для установки

В качестве обходного пути к пункту 1 я мог бы использовать AlarmManager, чтобы запланировать установку будильника пользователями в течение 24 часов от установленного времени. Тем не менее, это оставляет меня с пунктом 2 - в идеале мне нужен способ удалить будильники моего приложения из будильника Android после их выполнения (чтобы будильники моего приложения не занимали место для будильника), но я не могу найти способ, чтобы получить список будильников и удалить один.

Возможно ли это, или мне нужно придерживаться ручного подхода AlarmManager/AlertDialog?

6
задан barry 28 May 2012 в 16:08
поделиться