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