Maison > Java > javaDidacticiel > Comment puis-je surveiller les changements de connectivité Internet dans mon application Android ?

Comment puis-je surveiller les changements de connectivité Internet dans mon application Android ?

Patricia Arquette
Libérer: 2024-10-29 11:15:02
original
683 Les gens l'ont consulté

How can I monitor Internet connectivity changes in my Android application?

Android : surveillance des modifications de la connectivité Internet

Pour surveiller les modifications de la connectivité Internet, Android fournit la classe ConnectivityManager.NetworkCallback. Cela permet une écoute plus granulaire par rapport au BroadcastReceiver traditionnel. Voici comment l'implémenter :

<code class="java">public class ConnectivityMonitor extends ConnectivityManager.NetworkCallback {

    @Override
    public void onAvailable(Network network) {
        // Internet connectivity is available
        Log.d("Connectivity", "Internet connected");
    }

    @Override
    public void onLost(Network network) {
        // Internet connectivity is lost
        Log.d("Connectivity", "Internet disconnected");
    }
}</code>
Copier après la connexion

Pour enregistrer ce rappel, vous devez créer une instance ConnectivityManager et appeler la méthode registerNetworkCallback :

<code class="java">ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
connectivityManager.registerNetworkCallback(new NetworkRequest.Builder().build(), new ConnectivityMonitor());</code>
Copier après la connexion

Vous pouvez également utiliser une connectivité prédéfinie déclare de ConnectivityManager :

<code class="java">if (connectivityManager.getActiveNetworkInfo() != null) {
    // Connected to a network
    if (connectivityManager.getActiveNetworkInfo().isConnectedToWifi()) {
        // Connected via WiFi
    } else {
        // Connected via mobile data
    }
} else {
    // Not connected to a network
}</code>
Copier après la connexion

N'oubliez pas de désenregistrer le rappel lorsque vous avez terminé :

<code class="java">connectivityManager.unregisterNetworkCallback(new ConnectivityMonitor());</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal