0

例如,设置了一个使用日历在早上 7 点计算数字的警报管理器。

但是用户在早上 6 点关闭 android 并在早上 8 点打开。所以程序不算数。

如果我在 BOOT COMPLETED 的接收器上重置 AlarmManager,我认为我无法避免这种情况。

请告诉我在这种情况下计算确切数字的方法。

4

1 回答 1

1

你必须做一些工作。将下一次警报的时间保存在永久存储(文件、共享首选项或数据库)中。每当发生警报时,更新此值。设置一个 BOOT_COMPLETED 监听器。当启动完成的侦听器启动时,让它获取当前时间并检查它是否晚于您存储的下一个警报的时间。如果是这样,你错过了。如果没有,你没事。

现在,如果您不得不担心错过多个警报,它会变得更加复杂,但想法是一样的。

于 2013-04-12T03:53:33.637 回答