android - 如何处理 Ion(android 库)没有互联网连接?

标签 android android-networking android-ion

我正在使用 Ion Library Android 上的(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 的手机上进行调试,并且我没有收到任何回调异常。我期望立即出现异常,我认为它必须立即失败。

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

最佳答案

ConnectivityManager 的 getActiveNetworkInfo() 方法返回一个 NetworkInfo 实例,表示它可以找到的第一个连接的网络接口(interface),如果没有连接任何接口(interface),则返回 null。检查此方法是否返回 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 list 中。

关于android - 如何处理 Ion(android 库)没有互联网连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30298634/

相关文章:

android - 想在特定时间一个接一个地上传一堆文件

android - 使用 HTTPS 的 ionic

java - 下载图像并将其保存到 SD 卡中

Android:如何将按钮添加到 "Control Center"

android - 添加 google-play-services 后,您需要在此 Activity 中使用 Theme.AppCompat 主题(或后代)

安卓: "change/intercept network settings and traffic"权限

java - Android:如何知道一个IP地址是一个Wifi IP地址?

android - ionic Android getHeaders

java - 在 Android 中使用 ion 库将文件(多部分/表单数据)上传到服务器失败

java - SQLite onUpgrade() 挫败感