私のアプリケーションでは、デバイスがインターネットに接続されているかどうかを確認する必要があります。ConnectivityManager を使用してみましたが、100% 正確な結果が得られません。たとえば、Wi-Fi 接続はあるが、インターネット リソースにアクセスできない場合があります。私の場合、インターネットに実際にアクセスするには、Wi-Fi 経由で接続した後、VPN 接続を開く必要があります。したがって、ConnectivityManager を使用したアプローチは機能しません。
それで、上記に関して - 確実にするために手動のhttpリクエストを書くべきですか、それとも別の方法がありますか?
ここに私が使用しているコードがあります
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected() && cm.getActiveNetworkInfo().isAvailable();