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