0

JSON をサーバーに送信するクラスがあります。このクラスは AsyncTask を拡張します。しかし、接続のエラーには対応できません。デバイスがインターネットに接続されていない場合はアプリが終了し、アプリが機内モードの場合も終了します。これらのエラーを処理するには?

4

1 に答える 1

0

これらのメソッドを追加するだけです:

public boolean isOnline() {
        ConnectivityManager cm = (ConnectivityManager)  getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo netInfo = cm.getActiveNetworkInfo();

        if (netInfo != null && netInfo.isConnectedOrConnecting()
                && cm.getActiveNetworkInfo().isAvailable()
                && cm.getActiveNetworkInfo().isConnected()) {
            return true;
        }
        return false;
    }

データ プルのために asyncTask を開始する前に、これを呼び出します。これにより、デバイスがインターネットに接続されているかどうかが確認されます。また、マニフェストにアクセス許可を追加することを忘れないでください。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
于 2013-11-15T03:19:43.777 に答える