У меня есть приложение, которое позволяет пользователю устанавливать будильник в разное время. В настоящее время он использует 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 проблемы:
- похоже, нет способа запланировать будильник на более чем 24 часа в будущем
- встроенный будильник Android позволяет установить только 10 будильников
В качестве обходного пути к пункту 1 я мог бы использовать AlarmManager, чтобы запланировать установку будильника пользователей в течение 24 часов от установленного времени. Тем не менее, это оставляет меня с пунктом 2 - в идеале мне нужен способ удалить будильники моего приложения из будильника Android после их выполнения (чтобы будильники моего приложения не занимали место для будильника), но я не могу найти способ, чтобы получить список будильников и удалить один.
Возможно ли это, или мне нужно придерживаться ручного подхода AlarmManager/AlertDialog?