如何在Android上捕捉闹钟事件?

时间:2016-07-10 13:55:26

标签: android android-activity android-broadcastreceiver

我想在android中为闹钟构建一个播放列表。一个应用程序,允许我在工作日的早上7点设置闹钟,每次都会播放不同的曲调。

我已经设法使用以下代码以编程方式设置自定义闹钟:

Intent i = new Intent(AlarmClock.ACTION_SET_ALARM);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra(AlarmClock.EXTRA_HOUR, hour);
i.putExtra(AlarmClock.EXTRA_MINUTES, minutes);
i.putExtra(AlarmClock.EXTRA_RINGTONE, "/path/to/file.mp3");
i.putExtra(AlarmClock.EXTRA_SKIP_UI, true);

我想注册一个对此代码的调用,以便在用户关闭当前警报并且可能会打盹后运行。问题是,如何捕获/覆盖触发警报的事件。

另外,想要以某种方式在警报活动中存储一些额外的键\值对,所以一旦我抓住触发警报,我就能够读取它们。 我应该在哪里保存这些数据?我的代码中的putExtra与设置新警报的活动有关,而不是播放它的活动。

1 个答案:

答案 0 :(得分:2)

使用alarmmanager而不是单一意图。你可以在这个答案中找到一个很好的例子:https://stackoverflow.com/a/8801990/5052976

相关问题