当我尝试在Android中获取deviceId时,有时候OneSignal无法得到响应

时间:2017-07-10 09:33:32

标签: android onesignal

我使用“OneSignal.idsAvailable()”方法来获取deviceId。有时我得到回应但有时却没有。它抛出以下异常:

OneSignalRestClient: null Error thrown from network stack. 
java.io.InterruptedIOException: thread interrupted
at com.android.okhttp.okio.Timeout.throwIfReached(Timeout.java:145)
at com.android.okhttp.okio.Okio$1.write(Okio.java:78)
at com.android.okhttp.okio.AsyncTimeout$1.write(AsyncTimeout.java:155)
at com.android.okhttp.okio.RealBufferedSink.flush(RealBufferedSink.java:221)
at com.android.okhttp.internal.http.HttpConnection.flush(HttpConnection.java:141)
at com.android.okhttp.internal.http.HttpTransport.finishRequest(HttpTransport.java:60)
at com.android.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:1147)
at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:980)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:482)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:418)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:540)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:25)
at com.onesignal.OneSignalRestClient.startHTTPConnection(OneSignalRestClient.java:146)
at com.onesignal.OneSignalRestClient.access$100(OneSignalRestClient.java:38)
at com.onesignal.OneSignalRestClient$4.run(OneSignalRestClient.java:94)
at java.lang.Thread.run(Thread.java:818)

1 个答案:

答案 0 :(得分:0)

我认为由于网络问题,它已达到超时。您应该在请求设备ID时首先检查互联网连接,然后请求设备ID。