【发布时间】:2012-05-28 16:08:55
【问题描述】:
我有一个应用程序,它允许用户在不同时间设置警报。目前,它使用 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 方法?
【问题讨论】:
标签: android alarmmanager alarm