我最近将我的应用上传到Google Playstore。我使用Error Reporter来跟踪崩溃。应用程序工作正常,但我经常得到HttpHostConnectException。在进行每次网络通话之前,我检查了Internet连接。导致此异常的原因是否还有其他原因?如何避免?
P.S。在测试/调试我的应用程序时,我从未遇到此异常。
答案 0 :(得分:0)
HttpHostConnectException 。
在进行每次网络通话之前,我检查了网络连接。
检查互联网连接并不是确定主机可以访问的完全证明方式。在许多情况下,例如使用wifi,设备连接到路由器,而路由器未连接到互联网。在这种情况下,使用 ConnectivityManager 等类检查Internet连接将返回true,但实际连接为false。
解决方案是检查您的主机是否可以使用任何http方法实际访问。
public boolean isInternetAvailable() {
try {
InetAddress ipAddr = InetAddress.getByName("google.com"); //You can replace it with your name
if (ipAddr.equals("")) {
return false;
} else {
return true;
}
} catch (Exception e) {
return false;
}
}
上述代码取自SO post。
答案 1 :(得分:0)
我使用AsyncHttpClient来处理我的所有网络摄像头。它完美地处理了我的情况。它在获取HttphostConnectException时直接使用onFailure()。