【问题标题】:How do you catch an UnknownHostException in android?如何在 android 中捕获 UnknownHostException?
【发布时间】:2012-06-26 15:39:05
【问题描述】:

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

【问题讨论】:

标签: java android http-post httpclient


【解决方案1】:

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

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

【讨论】:

  • 谢谢!正是我想知道的:)
【解决方案2】:

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

            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"/>

【讨论】:

    猜你喜欢
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    相关资源
    最近更新 更多