每小时在特定毫秒执行任务 Android

Execute task every hours at specific milliseconds Android

对于我的应用程序,我需要每隔一小时但在特定时间执行一次任务。 服务器 return 对我来说是一个毫秒数,例如:100 毫秒,所以我需要在 :

执行任务

如果号码是 3500,我需要在 :

执行任务

我知道如何每隔 1 小时 运行 完成一项任务,但我不知道如何在特定时间执行。如果有人有解决方案:)

如果您真的需要精确的毫秒数(我真的非常怀疑您是否这样做),那您就倒霉了。 Android 不是实时的 OS,因为 Linux 不是实时的 OS,因此无法做出这些保证。如果你只需要非常接近时间(比如精确到秒),即使在低功耗模式下也会调用 AlarmManager.setExactAndAllowWhileIdle 。但是,没有重复版本,因此如果需要,您需要自己实施。而且 AlarmManager 不会通过重新启动来保留警报,因此如果您需要它,您将不得不这样做。最后,您有大约 10 秒的时间来执行您需要的任何操作,或者采取适当的措施(例如唤醒锁)来执行更多操作。

这还需要时间表确切的警报权限。在 https://developer.android.com/reference/android/app/AlarmManager#setExactAndAllowWhileIdle(int,%20long,%20android.app.PendingIntent)

阅读文档