Junior — Middle
Как може да се определи наличността на мрежовата връзка?
sobes.tech AI
Отговор от 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);