0

我想做一个跑步教练应用程序。对于我做的一些事情,我需要知道一天过去了,这意味着日期已经改变(24:00)。

以下是一些选项:

  • 当然,我总是可以检查当前时间是否小于 24:00,但效率不高。
  • 我还看到我可以使用意图过滤器——ACTION_DATE_CHANGED以及一个广播接收器,它会监听这个意图,我会知道日期何时改变。但是我认为这不是最有效的方法,因为它总是听并且可能会占用一些电池和 CPU。Android 可能在提高广播接收器效率方面做得很好,但我仍然想知道它是否适合我的需求。
  • 使用警报管理器?

哪个最好,或者有不同的方法?你有什么建议,为什么?

4

1 回答 1

3

如果您需要在每次 00:00 时执行操作,则必须使用 AlarmManager 和 BroadcastReceiver。然后你就可以在接收器的 onReceive() 方法中做任何你必须做的事情。哦,顺便说一下,BroadcastReceivers 是最有效的方法,因为它们仅在 onReceive() 方法期间保持设备处于活动状态。

使用 AlarmManager 在每天 00:00 设置对 onReceive 的重复调用。如果您需要示例,请在评论中告诉我。

除此之外,如果您在一天过去后不必采取任何行动,您可以简单地检查应用程序本身。您始终可以将您的应用上次打开的时间保存到 SharedPreferences 中。

于 2013-09-16T15:55:28.403 回答