インターネットを使用するアプリケーションがあります。リクエストを送信する前に、コードで接続を確認します。
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がオンになっていて、メールを送受信できることをユーザーが安心させるまでは問題ありませんでした. では、なぜこのような状況が可能になるのか、何か考えはありますか?