Junior — Middle
Como é que se pode determinar a disponibilidade de uma ligação de rede?
sobes.tech IA
Resposta da IA
No Android, para determinar a disponibilidade de uma ligação de rede, geralmente usa-se a classe ConnectivityManager. Com ela, é possível verificar se há uma ligação ativa à rede e qual o seu tipo (Wi-Fi, dados móveis, etc.).
Exemplo de verificação da disponibilidade da rede:
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
A partir do Android API 29, recomenda-se usar NetworkCapabilities através de 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);