2010-07-22 23 views
29

Ho un servizio che sta scaricando un file da un server. Avviso all'utente di scaricare il file solo su Wireless LAN prima dell'avvio del download.Come posso monitorare lo stato della connessione di rete in Android?

Il mio problema è che il mio download si blocca se perdo la connessione di rete. C'è un modo per ascoltare i cambiamenti nella connessione di rete o se è completamente perso?

risposta

79

ascolto per CONNECTIVITY_ACTION

Questo sembra buono sample code. Ecco uno snippet:

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

Ho aggiunto un ricevitore broadcast anonimo solo per rendere il campione completamente chiaro. Grazie per la risposta. – Janusz

+0

Cosa posso fare con quel NetworkStateReceiver e filtrare gli oggetti ??? Si prega di mostrare più detials ....! –

+0

Non dimenticare di annullare la registrazione del ricevitore quando l'attività/frammento distrugge/sospende –

Problemi correlati