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