Connection Refused in WearableListenerService / Android Wear when phone in sleep mode -
i developing android wear watchface accesses internet sending messageapi request wear mobile app, running wearablelistenerservice, , on mobile app, receive request wear in onmessagereceived, , in onmessagereceived start asynctask retrieve image internet.
this works fine normally.
however, if phone inactive few minutes (screen black, not connected mac via usb) receive "econnrefused - connection refused server", when asynctask tries retrieve inputstream on line:
inputstream = (inputstream) new url(murl).getcontent();
here exception:
java.net.connectexception: failed connect dl.dropboxusercontent.com/xx.xx.xxx.xx (port 443): connect failed: econnrefused (connection refused) @ libcore.io.iobridge.connect(iobridge.java:118) @ java.net.plainsocketimpl.connect(plainsocketimpl.java:192) @ java.net.plainsocketimpl.connect(plainsocketimpl.java:460) @ java.net.socket.connect(socket.java:838) @ com.android.okhttp.internal.platform.connectsocket(platform.java:131) @ com.android.okhttp.connection.connect(connection.java:101) @ com.android.okhttp.internal.http.httpengine.connect(httpengine.java:294) @ com.android.okhttp.internal.http.httpengine.sendsocketrequest(httpengine.java:255) @ com.android.okhttp.internal.http.httpengine.sendrequest(httpengine.java:206) @ com.android.okhttp.internal.http.httpurlconnectionimpl.execute(httpurlconnectionimpl.java:345) @ com.android.okhttp.internal.http.httpurlconnectionimpl.getresponse(httpurlconnectionimpl.java:296) @ com.android.okhttp.internal.http.httpurlconnectionimpl.getheaderfield(httpurlconnectionimpl.java:143) @ java.net.urlconnection.getcontenttype(urlconnection.java:326) @ java.net.urlconnection.getcontent(urlconnection.java:193) @ com.android.okhttp.internal.http.httpsurlconnectionimpl.getcontent(httpsurlconnectionimpl.java:169) @ java.net.url.getcontent(url.java:455) @ wear.webcam.mobilerequestlistenerservice$myimageloadertask.doinbackground(mobilerequestlistenerservice.java:479) @ wear.webcam.mobilerequestlistenerservice$myimageloadertask.doinbackground(mobilerequestlistenerservice.java:451) @ android.os.asynctask$2.call(asynctask.java:288) @ java.util.concurrent.futuretask.run(futuretask.java:237) @ android.os.asynctask$serialexecutor$1.run(asynctask.java:231) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1112) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:587) @ java.lang.thread.run(thread.java:841) caused by: libcore.io.errnoexception: connect failed: econnrefused (connection refused) @ libcore.io.posix.connect(native method) @ libcore.io.blockguardos.connect(blockguardos.java:85) @ libcore.io.iobridge.connecterrno(iobridge.java:131) @ libcore.io.iobridge.connect(iobridge.java:116) ... 23 more
- my app retries minute later, , when phone on (screen on), works!
- it has nothing server/the url calling, getting same error different servers.
- it has nothing wifi, because happens regardless if in wifi or normal network.
- this happens in prod/signed , debug version
- i checking if network available right before call, , getting "true", network indeed on!
public boolean isnetworkavailable() { connectivitymanager cm = (connectivitymanager) getsystemservice(context.connectivity_service); networkinfo networkinfo = cm.getactivenetworkinfo(); // if no network available networkinfo null // otherwise check if connected if (networkinfo != null && networkinfo.isconnected()) { return true; } return false; }
it looks problem can solved acquiring wakelock - did not solve problem far.
any appreciated!!!
android 4.4.4 sony xperia z1; android wear 5.0.2.
solved: turns out, reason energy saving options on xperia: set "stamina-modus", caused device not wake up.
Comments
Post a Comment