android.net.wifi.STATE_CHANGE: nicht ausgelöst, über WLAN trennen
Ist es normal, nur eine broadcast-intent mit der Aktion NETWORK_STATE_CHANGED_ACTION
(deren konstanter Wert ist android.net.wifi.STATE_CHANGE
), wenn eine Wifi-Verbindung kommt zurück? I. e. Ich habe nicht diesen Vorsatz, wenn Wifi getrennt werden kann.
UPDATE: ich bin hauptsächlich daran interessiert zu >= 2.2 Froyo
Ich hatte die gleichen Probleme seit Wochen und ich denke, es ist normal (oder ist das ein bug ;)). Ich weiß, das hilft nicht, sondern nur zur information...
Nur zur Klarstellung für zukünftige Leser: die Absicht ist für den Status (deaktiviert, aktivieren, aktiviert, deaktivieren) von der WLAN-transceiver, der im Grunde sagen Sie, ob wifi ein-oder ausschalten. Sie waren auf der Suche für den Status der Konnektivität ist das unterschiedlich.
NÖ - "android.net.wifi.STATE_CHANGE" entspricht
Nur zur Klarstellung für zukünftige Leser: die Absicht ist für den Status (deaktiviert, aktivieren, aktiviert, deaktivieren) von der WLAN-transceiver, der im Grunde sagen Sie, ob wifi ein-oder ausschalten. Sie waren auf der Suche für den Status der Konnektivität ist das unterschiedlich.
NÖ - "android.net.wifi.STATE_CHANGE" entspricht
NETWORK_STATE_CHANGED_ACTION
für net-Konnektivität. WIFI_STATE_CHANGED_ACTION
ist zum aktivieren, deaktivieren etc - entspricht der "android.net.wifi.WIFI_STATE_CHANGED" Bitte löschen Sie Ihre verwirrenden Kommentar. Für die OP - ich denke, die Antwort von M Granja ist der richtigeInformationsquelleAutor jldupont | 2011-03-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
In die android-API, die es sagt, dass es nicht eine gute Idee zu überprüfen, STATE_CHANGE für die Netzwerkverbindung und die Sie stattdessen verwenden sollten SUPPLICANT_CONNECTION_CHANGE_ACTION. diese werden bemerken, eine Einrichtung, die zu einem wifi-Netzwerk, und die Trennung von einem wifi-Netzwerk. Ich weiß nicht, ob dies Ihnen helfen könnte, aber ich hoffe so. LINK
Ich bin froh, dass es geklappt hat! Viel Glück mit Ihrem Projekt, Kumpel!
Ich weiß nicht, aber SUPPLICANT_CONNECTION_CHANGE_ACTION hat bei mir nicht funktioniert. Es wurde nie gefeuert. Ich musste WifiManager.NETWORK_STATE_CHANGED_ACTION, das gleiche zu tun. Und es funktionierte wie ein Charme!!
InformationsquelleAutor rsplak
Hatte ich ein ähnliches Bedürfnis in meinem Projekt und endete mit, beide zu verwenden.
Android.net.wifi.supplicant.CONNECTION_CHANGE Aktion sendet eine broadcastübertragung, wenn das Netzwerk verbunden ist, aber in der Regel vor dem Gerät eine IP-Adresse hat, so musste ich die android.net.wifi.STATE_CHANGE Aktion.
Android.net.wifi.STATE_CHANGE-Aktion erhält eine Sendung auf trennen nur, wenn das Gerät trennen vom Netz, aber WLAN ist immer noch aktiviert (wenn hotspot geht aus dem Sortiment, zum Beispiel)
Also sollte man beide Aktionen für den Empfänger in dem manifest:
und setzen Sie ein, wenn, um zu überprüfen, welche Aktion aufgerufen wird, in der Absicht. Hier wird die onReceive-Methode der BroadcastReceiver in meinem code:
Ich weiß nicht, aber SUPPLICANT_CONNECTION_CHANGE_ACTION hat bei mir nicht funktioniert. Es wurde nie gefeuert. Ich musste WifiManager.NETWORK_STATE_CHANGED_ACTION, das gleiche zu tun. Und es funktionierte wie ein Charme!!
Ja, NETWORK_STATE_CHANGED_ACTION klappte, keine Notwendigkeit zum hinzufügen auf das manifest.
wirklich sehr späte Antwort, aber im aktuellen Zustand (Lollipop+), bemerkte ich, hörte ich immer SUPPLICANT_CONNECTION_CHANGE_ACTION Sendungen, wenn das verbinden/authentifizieren/Erwerb von IP - /trennen-flow wurde ausgelöst durch das system und nicht meine app. Also ich vermute, es ist ein gewisser Prozess der Isolierung verhindert den Abruf von BCs, entweder auf dem Android-system oder sogar low-level-Linux-Schichten. Ziemlich viel, bin ich der Beurteilung von user-apps können nicht überall zu etablieren, die einen Unterschied zwischen den verbunden, mit ip ohne ip, auth scheiterte unter anderen Arten von Stand der Bittsteller
Ich bemerkte das auch. Sie bekommen noch die Sendung, wenn mobile Daten deaktiviert ist, obwohl, wenn die wireless-Verbindung trennt.
InformationsquelleAutor M Granja