1

Android でIon Library (Android Asynchronous Networking and Image Loading) を使用しています。一般的な 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
    }
});

インターネットに接続されていないときはどうすればよいかわかりません。Wi-Fi と 3G を無効にして電話でデバッグしていますが、コールバックで例外が発生しません。すぐに例外が発生することを期待しています。すぐに失敗するに違いないと思います。

このシナリオをどのように管理する必要がありますか? 前もって感謝します

4

1 に答える 1

3

ConnectivityManager の getActiveNetworkInfo() メソッドは、検出できる最初に接続されたネットワーク インターフェイスを表す NetworkInfo インスタンスを返すか、どのインターフェイスも接続されていない場合は 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" />

あなたのアンドロイドマニフェストで。

于 2015-05-18T09:26:32.750 に答える