URLConnection当设备处于睡眠模式不起作用

问题描述:

我在设备处于睡眠模式时遇到后台服务问题。我已经设置了一个闹钟,每天早上9点开始提供服务。该设备在唤醒时正常工作,但在设备睡着时失败。URLConnection当设备处于睡眠模式不起作用

我已经将问题追溯到下面显示的URLConnection.openConnection()调用。设备似乎无法在睡眠模式下打开此连接,但会引发IOException。 我使用URL.openStream()在设备睡着时执行网络调用,并且它们工作正常。

任何人都可以解释为什么openStream()将工作在睡眠模式,但openConnection()不?有没有办法让它工作?

返回新的BufferedReader(新的InputStreamReader(新网址(URL).openStream()),8192);:

这个工作在休眠模式

这似乎并不在睡眠模式下工作:

URL actualURL = new URL(url.toString()); 
URLConnection c = actualURL.openConnection(); 
c.setConnectTimeout(10000); 
c.setReadTimeout(20000); 
InputStreamReader inputStreamReader = new InputStreamReader(c.getInputStream()); 
bufferedReader = new BufferedReader(inputStreamReader); 

从后台线程到服务移动URLConnection代码固定的问题,现在的作品,而在睡眠模式。日志记录在睡眠模式下工作,但不是openConnection()