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

В Android для определения доступности сетевого соединения обычно используют класс ConnectivityManager.

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку