Sobes.tech
Junior — Middle

Jak można określić dostępność połączenia sieciowego?

sobes.tech AI

Odpowiedź od AI

W Androidzie, aby określić dostępność połączenia sieciowego, zwykle używa się klasy ConnectivityManager. Pozwala ona sprawdzić, czy istnieje aktywne połączenie z siecią i jaki jest jego typ (Wi-Fi, dane komórkowe itp.).

Przykład sprawdzania dostępności sieci:

ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();

Od Android API 29 zaleca się korzystanie z NetworkCapabilities przez ConnectivityManager:

ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
Network network = cm.getActiveNetwork();
NetworkCapabilities capabilities = cm.getNetworkCapabilities(network);
boolean hasInternet = capabilities != null && capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET);