我正在调用来自Service类的Web服务HTTPS连接,警报管理员每隔1分钟调用一次。当我开始服务时,它正常工作我收到来自Web服务的响应,直到设备进入睡眠模式。当设备&# 39; s屏幕下车,在下一个网络服务电话上我收到此错误 -
com.turbomanage.httpclient.HttpRequestException: java.net.SocketTimeoutException: connect timed out
它将继续抛出此异常,直到我唤醒设备。当设备被唤醒时,webservice开始从服务器获得响应,然后我就不会得到异常。所以请任何人告诉我可能是什么问题。测试设备 Nexsus 5X 。
答案 0 :(得分:2)
我从Service类调用Web服务HTTPS连接,警报管理器每隔1分钟调用一次
这不适用于Android 6.0+,除非您的应用是电池优化白名单。打盹模式将停止大部分警报,在您获得控制权的情况下,您可能无法访问Internet。
另外,请记住,每分钟唤醒设备以执行网络I / O都会耗尽电池,这就是Android 6.0首先引入Doze模式的原因。
答案 1 :(得分:0)
优化打ze和应用待机
https://developer.android.com/training/monitoring-device-state/doze-standby
忽略电池优化的代码
image (UIImage)