Sobes.tech
Junior — Middle

Kaip galima nustatyti tinklo ryšio prieinamumą?

sobes.tech AI

Atsakymas iš AI

Android dažniausiai naudojama ConnectivityManager klasė tinklo ryšio prieinamumui nustatyti. Su jos pagalba galima patikrinti, ar yra aktyvus ryšys ir kokio tipo jis yra (Wi-Fi, mobilieji duomenys ir kt.).

Tinklo prieinamumo patikrinimo pavyzdys:

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

Nuo Android API 29 rekomenduojama naudoti NetworkCapabilities per 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);