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()
。