2010-07-22 8 views
29

Ich habe einen Dienst, der eine Datei von einem Server herunterlädt. Ich warne den Benutzer, die Datei nur über WLAN herunterzuladen, bevor der Download startet.Wie kann ich den Netzwerkverbindungsstatus in Android überwachen?

Mein Problem ist, dass mein Download blockiert, wenn ich die Netzwerkverbindung verliere. Gibt es eine Möglichkeit, auf Änderungen in der Netzwerkverbindung zu warten oder diese vollständig zu verlieren?

Antwort

79

Hören für CONNECTIVITY_ACTION

Dieses wie gut sample code aussieht. Hier ist ein Schnipsel:

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

Ich fügte einen anonymen Rundfunkempfänger hinzu, nur um die Probe völlig klar zu machen. Danke für die Antwort. – Janusz

+0

Was kann ich mit diesem networkStateReceiver tun und Objekte filtern? Bitte zeigen Sie mehr Details ....! –

+0

Vergessen Sie nicht, die Registrierung des Empfängers aufzuheben, wenn die Aktivität/das Fragment zerstört/pausiert –

Verwandte Themen