Sobes.tech
Back to questions
Junior — Middle
82

Каким образом можно определить доступность сетевого соединения?

Answer from AI

sobes.tech AI

В Android для определения доступности сетевого соединения обычно используют класс ConnectivityManager. С его помощью можно проверить, есть ли активное подключение к сети и какого оно типа (Wi-Fi, мобильные данные и т.д.).

Пример проверки доступности сети:

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

Начиная с Android API 29 рекомендуется использовать NetworkCapabilities через 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);