Sobes.tech
Junior — Middle

Hogyan lehet meghatározni a hálózati kapcsolat elérhetőségét?

sobes.tech MI

Válasz az MI-től

Androidon általában a ConnectivityManager osztályt használják a hálózati kapcsolat elérhetőségének meghatározására. Ezzel ellenőrizhető, hogy van-e aktív kapcsolat, és milyen típusú (Wi-Fi, mobil adat stb.).

Hálózati elérhetőség ellenőrzésének példája:

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

Android API 29-től kezdve ajánlott a NetworkCapabilities használata a ConnectivityManager-en keresztül:

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);