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