AlarmManager - 何时设置重复以及如何获得剩余时间

时间:2014-08-02 15:12:21

标签: android alarmmanager

我有一个应用程序,可以每45分钟为用户提供一次额外的加电。我设法设置一个重复警报,但我有一些问题:

1 - 我应该在哪里调用setRepeating()方法? - 请记住警报应该自动设置而不是通过onClick事件设置,例如,我发现知道它很棘手在哪里设置它。现在我在MainMenu活动的onCreate方法上调用它。问题是每次用户输入应用程序时都会调用它。我考虑过设置一个SharedPreference变量来检查我是否已经调用它,但它似乎不是正确的方法。

2 - 如何显示下次开机前的剩余时间? - 我想向用户显示下次开机前剩余的时间。问题是,如果用户关闭应用程序并再次打开它我不再有警报的引用,但它仍在运行。我怎么能这样做?

任何帮助将不胜感激。提前致谢

1 个答案:

答案 0 :(得分:0)

我会为两者使用共享偏好。设置警报时,请编写一个共享首选项,说明何时安排下一个警报。在onCreate中,查看警报。如果它在将来,不需要设置它。如果它在过去,再次设置它。相同的答案解决了问题2-从共享偏好中的时间减去当前时间,这是剩下的时间。当闹钟响起时,请将共享首选项更新为下一次。