私は Android プロジェクトに取り組んでおり、ユーザーがいつインターネットにアクセスできるかを知る必要があります。(Wi-Fiが有効になっている場合だけではありません。たとえば、ユーザーがホットスポットWi-Fi接続を使用した場合など)
私はこの方法を使用します:
public static boolean isOnline(final Context context) {
boolean result = false;
ConnectivityManager connec = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connec.getNetworkInfo(0).isConnectedOrConnecting() || connec.getNetworkInfo(1).isConnectedOrConnecting()) {
URL url = new URL("https://www.google.fr");
URLConnection urlConnection;
urlConnection = url.openConnection();
HttpURLConnection httpConnection = (HttpURLConnection) urlConnection;
int responseCode = httpConnection.getResponseCode();
result = (responseCode == 200);
}
return result;
}
このメソッドは機能しますが、5 秒ごとにユーザーの接続をチェックするタイマーで使用されるため、アプリケーションの速度が低下します。そして、ユーザーの接続状態をリアルタイムで知る必要があります...
誰かがインターネット接続を確認する別の方法を知っていますか? 多分Javaリフレクションで...?