BroadcastReceiver CONNECTIVITY_CHANGE immer in der ersten Start App ausgeführt?

7

Ich habe es auf Google Developer gelesen:

  

("android.net.conn.CONNECTIVITY_CHANGE") Aktion, wenn sich die Konnektivitätsdetails geändert haben

Ich habe diesen Code:

Öffentliche Klasse MainActivity erweitert AppCompatActivity {

%Vor%

und //

öffentliche Klasse NetworkUtil {

%Vor%

}

Beim ersten Start der App wurde diese Absicht immer ausgelöst und es wurde ein Dialogfeld mit dem aktuellen Netzwerkstatus angezeigt. Aber basierend auf diesem Dokument passiert es nur, wenn Verbindungsänderung? Wenn ich diese Anzeige nur bei Netzwerkänderungen haben möchte, wie kann ich das tun? Vielen Dank

    
Truong Vu 06.04.2016, 11:15
quelle

1 Antwort

18

Die Sendung android.net.conn.CONNECTIVITY_CHANGE ist eine normale Sendung . Dies bedeutet, dass bei der Registrierung von BroadcastReceiver für diese Aktion immer sofort ausgelöst wird und onReceive() mit der Änderung der letzten Broadcast-Verbindung aufgerufen wird. Dadurch können Sie den aktuellen Status der Konnektivität abrufen, ohne darauf warten zu müssen, dass sich etwas ändert.

Wenn Sie den aktuellen Status ignorieren und nur Statusänderungen verarbeiten möchten, können Sie dies zu Ihrem onReceive() hinzufügen:

%Vor%     
David Wasser 07.04.2016, 14:14
quelle