2010-07-22 5 views
29

J'ai un service qui télécharge un fichier à partir d'un serveur. Je préviens l'utilisateur de télécharger le fichier sur un réseau local sans fil avant le début du téléchargement.Comment puis-je surveiller l'état de la connexion réseau dans Android?

Mon problème est que mon téléchargement est bloqué si je perds la connexion réseau. Y at-il un moyen d'écouter les changements dans la connexion réseau ou si elle est complètement perdue?

Répondre

79

Reçoit les CONNECTIVITY_ACTION

Cela ressemble à une bonne sample code. Voici un extrait:

BroadcastReceiver networkStateReceiver = new BroadcastReceiver() { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     Log.w("Network Listener", "Network Type Changed"); 
    } 
}; 

IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);   
registerReceiver(networkStateReceiver, filter); 
+0

J'ai ajouté un récepteur de diffusion anonyme juste pour rendre l'échantillon totalement clair. Merci d'avoir répondu. – Janusz

+0

Que puis-je faire avec networkStateReceiver, et filtrer les objets ??? S'il vous plaît montrer plus de detials ....! –

+0

N'oubliez pas de désenregistrer le récepteur lorsque l'activité/le fragment détruit/met en pause –

Questions connexes