0

我有一个 android 应用程序,它每 15 分钟上传和下载一个文件。我正在使用AlarmManager setRepeating()来执行此操作,但它消耗大量电池且效率低下。但我想重组这个应用程序,以便它可以在 Marshmallow 及以上设备上运行。我阅读了有关JobScheduler同步适配器的信息,但挑战在于打盹模式。根据官方文档

https://developer.android.com/training/monitoring-device-state/doze-standby.html#understand_app_standby

JobScheduler 和 Sync Adapter 在打盹模式下不起作用。

那么,如何让安卓应用程序和服务器每 15 分钟进行一次通信,即使在打瞌睡模式下也是如此。

谢谢。

4

2 回答 2

0

根据 Android 开发人员文档,AlarmManager 将继续在棉花糖及更高版本上工作

标准 AlarmManager 警报(包括 setExact() 和 setWindow())被推迟到下一个维护窗口。

  1. 如果您需要设置在打瞌睡时触发的警报,请使用setAndAllowWhileIdle()setExactAndAllowWhileIdle()
  2. 使用setAlarmClock()设置的警报继续正常触发——系统在这些警报触发前不久退出打盹。
于 2017-08-09T06:47:18.290 回答
0

使用 Alarmmanager 并让您的用户为您的应用停用打盹模式(白名单)。

Alarmmanager 不会消耗大量电池。警报事件来自操作系统。

于 2017-08-09T06:51:17.500 回答