2

我正在使用 HttpClient 发布然后在 Android 中检索某些内容,效果很好,但是当我没有互联网连接时,它会强制关闭,他们是在制作 HttpPost 时捕获 UnknownHostException 的一种方法吗?我知道在发出请求之前我可以确保它已连接到互联网,但如果手机没有服务怎么办?

4

2 回答 2

6

UnknownHostExceptionIOException的子类,因此您应该能够捕获/管理它,只需捕获 IOException 或更具体的东西(NoRoute、ConnectTimeout 等)

还可以考虑在进行网络调用之前添加连接检查ConnectivityManager

于 2012-06-26T15:46:54.430 回答
3

你可以检查你的互联网连接

            ConnectivityManager cm = (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
            if (cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnected() || cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected()) {
                    //connected
            } else {
                    //not connected
            }

并在 AndroidManifest 中设置权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
于 2012-06-26T15:46:06.817 回答