我在Android7.0 tabA上有一个tabA平板电脑,我使用Retrofit 2每15分钟向我的服务器发送http调用,记录有关平板电脑的信息。我的平板电脑进入“深度睡眠”模式时,它的充电时间不超过5分钟,屏幕关闭。
在这种深度睡眠模式中,没有一个呼叫能够到达我的服务器,并且我会收到一个“连接超时错误”。
是否有人对“深度睡眠”模式有更好的理解,并在此解释实现我行为的最佳方法(每15分钟发送一次日志,h24/24)?
有人能解释一下它是一个升级的bug,还是一个Android功能,还是其他什么东西?
发布于 2018-05-04 11:31:48
要解决这个问题,必须使用evernote库:https://github.com/evernote/android-job
事实上,“打瞌睡模式”在深度睡眠中阻止了对网络的访问,并在周期性的时间醒来,让网络访问打开。
这个库帮助我捕捉那些神圣的周期性窗口,用网络发送我的服务器日志。
只需按照自述中的教程配置此特性即可。
发布于 2018-04-24 16:43:22
我觉得你应该看看这个
Doze模式从Android6.0 (API级别23)开始
如果用户在一段时间内将设备断开并保持不动,则该设备将进入Doze模式。在Doze模式下,系统试图通过限制应用程序访问网络和CPU密集型服务来节省电池。它还阻止应用程序访问网络,并延迟它们的工作、同步和标准警报。 系统定期退出Doze一段时间,让应用程序完成延迟的活动。在此维护窗口中,系统运行所有挂起的同步、作业和警报,并允许应用程序访问网络。
欲了解更多信息,请阅读以下内容:Doze和App备用的优化
所以当你需要执行你的任务时,你需要唤醒你的手机,比如发送通知或者其他的.
https://stackoverflow.com/questions/50004010
复制相似问题