0
我打电话给一个来自Service类的Web服务HTTPS连接,每隔1分钟由警报管理器调用。当我启动服务时,它工作正常,我从Web服务获取响应,直到设备进入睡眠模式。当设备的屏幕获取关闭,下一个Web服务调用我得到这个错误 -为什么我在设备的睡眠模式下得到SoketTimeOutException?
com.turbomanage.httpclient.HttpRequestException: java.net.SocketTimeoutException: connect timed out
它会继续下去,直到我唤醒device.When设备得到唤醒Web服务开始得到来自服务器的响应抛出此异常,我没有得到例外然后。所以请任何人告诉我可能是什么问题。测试设备是Nexsus 5X。
那么解决方案是什么呢? – shyam002
@ shyam002:我不知道问题是什么。由于各种原因(例如飞机模式),无法保证您在任何时间点都能连接到互联网。您应该像处理其他缺乏连接一样处理此问题。 – CommonsWare
@ shyam002:如果您希望最大限度地提高在Android 6.0+上以睡眠模式连接互联网的机会,请要求用户将您的应用添加到电池优化白名单。在运行Android 7.1.1的Nexus 5X上,即设置>应用程序>(齿轮图标)>特殊访问>电池优化。但是,您需要认识到用户可能不会这样做,或者如果他们不喜欢您的应用使用多少电池,他们可能会改变主意并将您的应用从此列表中删除。 – CommonsWare