对于我的应用程序,我需要每隔几个小时但在特定时间执行一项任务。 服务器返回给我的毫秒数,例如:100ms,所以我需要在 :
执行任务例如如果数字是 3500,我需要在以下位置执行任务:
我知道如何每隔 1 小时运行一次任务,但我不知道如何在特定时间执行。如果有人有解决方案:)
答案 0 :(得分:0)
如果你真的需要确切的毫秒(我真的,真的很怀疑你这样做),那你就不走运了。 Android 不是实时操作系统,因为 Linux 不是实时操作系统,并且不做出这些保证。如果您只需要非常接近时间(例如精确到秒),即使在低功耗模式下也会调用 AlarmManager.setExactAndAllowWhileIdle。但是,没有重复版本,因此您需要在需要时自己实现。并且 AlarmManager 不会通过重新启动来保持警报,因此如果您需要它,则必须这样做。最后,您有大约 10 秒的时间来执行您需要的任何操作或采取适当的措施(例如唤醒锁)来执行更多操作。
这也需要调度精确警报权限。在 https://developer.android.com/reference/android/app/AlarmManager#setExactAndAllowWhileIdle(int,%20long,%20android.app.PendingIntent)
阅读文档