Sobes.tech
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);