0

インターネットを使用するアプリケーションがあります。リクエストを送信する前に、コードで接続を確認します。

  protected boolean isNetworkAvailable(Context context) {
    ConnectivityManager cm = 
            (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

    NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
    boolean result = false;
    if (null != activeNetwork) {
        result = activeNetwork.isAvailable() 
            && activeNetwork.isConnectedOrConnecting();
    }
    return result;
}

うまく機能しますが、まれに、isNetworkAvailable が false を返すため、アプリがリクエストを実行できないことがログに示されます。wifiがオンになっていて、メールを送受信できることをユーザーが安心させるまでは問題ありませんでした. では、なぜこのような状況が可能になるのか、何か考えはありますか?

4

1 に答える 1