Wie wird die Änderung des WLAN-Netzwerkstatus gemeldet?

8

Ich schreibe eine App, die über WLAN mit einem Telnet-Server verbunden ist. Ich habe einen Dienst, der die Socket-Verbindung verwaltet. Es funktioniert alles gut, aber wenn das Telefon schläft, wird die WLAN-Verbindung getrennt, wodurch die Socket-Verbindung unterbrochen wird (und eine SocketException ausgelöst wird).

Ich habe das Gefühl, dass ich in der Lage sein sollte, einen Broadcast-Empfänger einzurichten, dessen onResume () -Methode aufgerufen wird, wenn die WLAN-Netzwerkverbindung verloren geht, wodurch ich den Socket elegant herunterfahren und neu öffnen kann Das Netzwerk wird sofort wieder verbunden. Aber ich kann im Doc oder über die Suche nichts dergleichen finden.

Service-Code ist hier, wenn Sie es wollen, danke für die Hilfe, ich schätze es wirklich!

%Vor%     
catdotgif 25.06.2010, 16:11
quelle

4 Antworten

17

Registrieren Sie ein BroadcastReceiver für ConnectivityManager.CONNECTIVITY_ACTION. Im onReceive -Handler können Sie NetworkInfo info = (NetworkInfo) intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO) und dann info.getType() aufrufen und nach ConnectivityManager.TYPE_WIFI suchen und dann tun, was Sie wollen. :)

    
Qberticus 26.06.2010 04:40
quelle
10

* setze diese Berechtigungen in deinem Manifest

%Vor%

* Registrieren Sie einen BroadcastReceiver für diese Aktionsfilter in Ihrem Manifest

%Vor%

* Definieren Sie die Implementierung Ihres BroadcastReceivers

%Vor%     
shontauro 28.05.2013 21:46
quelle
4

Ich weiß, dass dies eine alte Frage ist, aber sehen Sie sich die folgende Entwicklerdokumentation an:

Ссылка

    
quelle
2

Ich bin mir nicht sicher, wie das genau geht, aber ich denke, der ConnectivityManager wäre ein guter Anfang.

Ссылка

Sie können eine Instanz dieser Klasse abrufen, indem Sie Context.getSystemService(Context.CONNECTIVITY_SERVICE)

aufrufen

Es gibt auch einige andere gute Klassen in android.net, die Sie verwenden können.

Ich hoffe, das hilft.

    
Mike 25.06.2010 16:58
quelle

Tags und Links