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-ից սկսած, խորհուրդ է տրվում օգտագործել NetworkCapabilitiesConnectivityManager-ի միջոցով:

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