我有一个应用程序,允许用户在不同的时间设置闹钟。目前,它使用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);
但这里存在两个问题:
- 似乎没有一种方法可以在未来超过24小时时预定闹钟。
- Android内置的闹钟只允许设置10个闹钟。
针对第1个问题,我可以使用AlarmManager在到期时间前24小时内设置用户的闹钟。然而,这留下了第2个问题 - 理想情况下,我需要一种方法在我的应用程序的闹钟执行后从Android闹钟中删除它们(以避免我的应用程序的闹钟占用闹钟空间),但是找不到一种获取闹钟列表和删除其中一个的方法。
这是否可能实现,还是我需要坚持手动使用AlarmManager / AlertDialog?