2016-05-02 9 views

答えて

0

これは、this postの重複のようです。しかし、関連するコードブロックは以下の通りです。これは、エラーをキャッチし、それに従ってUIを変更する方法です。

 webView.setWebViewClient(new WebViewClient() { 

     @Override 
     public void onReceivedError(final WebView view, int errorCode, String description, 
       final String failingUrl) { 
      //control you layout, show something like a retry button, and 
      //call view.loadUrl(failingUrl) to reload. 
      super.onReceivedError(view, errorCode, description, failingUrl); 
     } 
    }); 

ブロードキャスト受信機を使用すると、アプリケーション全体でネットワーク接続の喪失を聞くこともできます。あなたは素敵な書き込みを見つけることができますhere。しかし、要は、ネットワーク変更のためにレシーバーを登録して、変更が切断されたかどうかを確認することです。その後、独自のイベントバスを使用して、UIを更新できるブロードキャストを送信することができます。

public class NetworkChangeReceiver extends BroadcastReceiver { 

@Override 
public void onReceive(final Context context, final Intent intent) { 
    final ConnectivityManager connMgr = (ConnectivityManager) context 
      .getSystemService(Context.CONNECTIVITY_SERVICE); 

    final android.net.NetworkInfo wifi = connMgr 
      .getNetworkInfo(ConnectivityManager.TYPE_WIFI); 

    final android.net.NetworkInfo mobile = connMgr 
      .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 

    if (wifi.isAvailable() || mobile.isAvailable()) { 
     // Do something 

     Log.d("Network Available ", "Flag No 1"); 
    } 
    } 
} 

そして、ここでチェック:

public boolean isOnline(Context context) { 

    ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo netInfo = cm.getActiveNetworkInfo(); 
    //should check null because in air plan mode it will be null 
    return (netInfo != null && netInfo.isConnected()); 
} 
+0

便利になります。..おかげDonQuix、私はそれをテストし、あなたが知ってもらおう... – emenpy

+0

接続が再確立されたとき、私はそれを再接続するにはどうすればよいですか? – emenpy

関連する問題