Muszę sprawdzić, czy moje urządzenie ma połączenie z Internetem, czy nie. Znalazłem wiele odpowiedzi, takich jak:
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null;
}
(Zaczerpnięte z opcji Wykryj, czy w systemie Android jest dostępne połączenie internetowe ).
Ale to nie w porządku, na przykład jeśli jestem podłączony do sieci bezprzewodowej, która nie ma dostępu do Internetu , ta metoda zwróci prawdę… Czy istnieje sposób, aby sprawdzić, czy urządzenie ma połączenie z Internetem, a nie, czy jest podłączone tylko do czegoś?
isNetworkConnected
Blok zawiera kod przestarzałej dla wszystkich Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
. Bardziej dogłębną dyskusję na ten temat i jak to naprawić można znaleźć tutaj stackoverflow.com/questions/53532406/…