如何处理Ion(android库)无法连接?

时间:2015-05-18 08:43:59

标签: android android-networking ion

我在Android上使用Ion Library(Android异步网络和图像加载)。执行通用HTTP请求的典型代码与此类似:

Ion.with(context)
.load("http://example.com/thing.json")
.asJsonObject()
.setCallback(new FutureCallback<JsonObject>() {
    @Override
    public void onCompleted(Exception e, JsonObject result) {
        // do stuff with the result or error
    }
});

我不知道在没有互联网连接时该怎么办。我正在手机上调试wifi和3G禁用,我在回调时没有收到任何异常。我期待一个例外,我认为它必须立即失败。

我必须如何管理这种情况?提前致谢

1 个答案:

答案 0 :(得分:2)

ConnectivityManager的getActiveNetworkInfo()方法返回一个NetworkInfo实例,表示它可以找到的第一个连接的网络接口,如果没有连接任何接口,则返回null。检查此方法是否返回null应足以判断是否有可用的Internet连接。

 private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager 
      = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}

您还需要:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

在您的Android清单中。