如何处理 Ion(android 库)没有互联网连接?
How to handle no Internet connection with Ion (android library)?
我在 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 的 phone 上进行调试,并且我没有收到任何回调异常。我希望立即出现异常,我认为它必须立即失败。
我必须如何处理这种情况?提前致谢
ConnectivityManager 的 getActiveNetworkInfo() 方法 returns 表示它可以找到的第一个连接的网络接口的 NetworkInfo 实例,如果 none 个接口已连接,则为 null。检查此方法 returns null 是否足以判断互联网连接是否可用。
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 清单中。
我在 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 的 phone 上进行调试,并且我没有收到任何回调异常。我希望立即出现异常,我认为它必须立即失败。
我必须如何处理这种情况?提前致谢
ConnectivityManager 的 getActiveNetworkInfo() 方法 returns 表示它可以找到的第一个连接的网络接口的 NetworkInfo 实例,如果 none 个接口已连接,则为 null。检查此方法 returns null 是否足以判断互联网连接是否可用。
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 清单中。