我們的Android應用程序出現問題,當用戶正在使用該應用程序時,它會掃描帶有藍牙的信標。應用程序正在加載不同視圖時從API加載數據。有時,當繼續點擊視圖中的一個請求失敗(超時),與此錯誤:Android 6(棉花糖)Wifi +藍牙有時會導致SocketTimeoutException
java.net.SocketTimeoutException: failed to connect to www.examplehost.com/111.222.333.444 (port 80) after 15000ms
at libcore.io.IoBridge.connectErrno(IoBridge.java:169)
at libcore.io.IoBridge.connect(IoBridge.java:122)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:452)
at java.net.Socket.connect(Socket.java:884)
at com.android.okhttp.internal.Platform.connectSocket(Platform.java:117)
at com.android.okhttp.internal.http.SocketConnector.connectRawSocket(SocketConnector.java:434)
at com.android.okhttp.internal.http.SocketConnector.connectCleartext(SocketConnector.java:105)
at com.android.okhttp.Connection.connect(Connection.java:1331)
at com.android.okhttp.Connection.connectAndSetOwner(Connection.java:1410)
at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:128)
at com.android.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:466)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:447)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:353)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:468)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:410)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:532)
(這是我們的服務器的IP地址,用111.222.333.444取代它)這是一個超時(> 15秒),而之前的請求相當快。
我不會遇到與其他設備的這個問題,只有在升級到Android 6.0.1的三星S6上。由於該應用程序處於前臺,因此該應用程序正在被有效使用,因此我認爲它不是Doze或Standby(Android 6中的新增功能)。但同樣的問題可能發生在應用程序在後臺(但很難測試)。
- 當關閉Wifi(所以設備使用4G網絡)或藍牙(或兩者)時,問題不再發生。
- 在
LG Nexus 5
(也適用於Android 6.0.1)時,問題從未發生過。 - 我們用信標庫:http://altbeacon.github.io/android-beacon-library/(2.7版本)
沒有任何人有一個想法,我們應該尋找問題?提前致謝。
謝謝你的迴應。我們已經聽說過干擾問題,但奇怪的是它已經開始成爲Android 6的一個問題。對於仍然使用Android 5的用戶,我們沒有看到任何問題。希望三星能夠解決這個問題。你知道一個聯繫三星這個問題的方法嗎? – TomWebDev
對不起,我不知道三星的聯繫人。 – davidgyoung
這是通過三星設備的Android更新修復 – TomWebDev