我在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禁用,我在回调时没有收到任何异常。我期待一个例外,我认为它必须立即失败。
我必须如何管理这种情况?提前致谢
答案 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清单中。