android - 每隔几小时在特定的毫秒内执行任务 Android
问题描述
对于我的应用程序,我需要每隔几个小时但在特定时间执行一项任务。服务器以毫秒数返回给我,例如:100 毫秒,所以我需要在以下时间执行任务:
- 00:00:00.100
- 01:00:00.100
- 02:00:00.100 等....
例如,如果数字是 3500,我需要在以下位置执行任务:
- 00:00:03.500
- 01:00:03.500
- 02:00:03.500 等...
我知道如何每隔 1 小时运行一次任务,但我不知道如何在特定时间执行。如果有人有解决方案:)
解决方案
如果你真的需要确切的毫秒(我真的,真的很怀疑你这样做),那么你就不走运了。Android 不是实时操作系统,因为 Linux 不是实时操作系统,也不做这些保证。如果您只需要非常接近时间(例如精确到秒),即使在低功耗模式下也会调用 AlarmManager.setExactAndAllowWhileIdle。但是,没有重复版本,因此如果需要,您需要自己实现。并且 AlarmManager 不会通过重新启动保留警报,因此如果您需要它,则必须这样做。最后,您有大约 10 秒的时间来执行您需要的任何操作,或者采取适当的措施(例如唤醒锁)来做更多事情。
这也需要计划确切的警报权限。阅读https://developer.android.com/reference/android/app/AlarmManager#setExactAndAllowWhileIdle(int,%20long,%20android.app.PendingIntent)上的文档
推荐阅读
- groovy - 如何使用 Groovy 将节点附加到 xml 的开头
- python - 使用列名作为列表在 Dataframe 的列中迭代,然后在 Python 中循环遍历列表
- dynamic - 使用两个不同的 SSL 端口配置 IIS 的两个 dydns 网站并为两者配置端口转发
- c++ - C++ typedef 具有不定大小的元组
- wpf - 如何在 WPF 中的 DataTemplate 中查找 TextBox 的值?
- java - 使用 csv 进行哈希图和数组计算的正确方法。数据文件
- java - 用于自定义对象的 Android 房间类型转换器
- css - 如何在其旁边的 span 元素底部设置 span 元素并使用 css 省略并做出反应?
- django - 过滤值范围内的对象,如 id - Django
- windows - 在安装期间增加 Windows 事件日志大小