Sobes.tech
Назад к вопросам
Junior — Middle
81

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

Ответ от нейросети

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