Frage

Ich möchte den Listener so einstellen, dass er den WLAN-Status abhört.Kann mir jemand mit meinem Code helfen

import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;

...

 TelephonyManager wTelephonyManager;

...

     wTelephonyManager=(TelephonyManager)getSystemService(Context.WIFI_SERVICE);
    wTelephonyManager.listen(new PhoneL(),PhoneStateListener.LISTEN_DATA_CONNECTION_STATE);
    connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);

// hier ist das Ereignis, das ich verwende, um auf WLAN-Änderungen zu warten, und der obige Code ist alles in onCreate {}

class PhoneL extends PhoneStateListener

{   






    public void onWifiStateChanged(int state, String nesto)
    {
         mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
            //mWifi.isConnectedOrConnecting()
             if(mWifi.isConnectedOrConnecting())
             {
                 Toast.makeText(WifiActivity.this,"Ima WIFI",Toast.LENGTH_LONG).show();     
             }
             else
             {
                 Toast.makeText(WifiActivity.this,"! NEMA WIFI",Toast.LENGTH_LONG).show(); 
             }


    }

}

// Kann mir bitte jemand helfen, einen Listener zu erstellen, der den WLAN-Status abhört und überprüft, ob WLAN verbunden ist oder ob keine Verbindung besteht, wenn ich den Datenpaketverkehr über 3g / 4g aktivieren möchte

War es hilfreich?

Lösung

Das Android-System fragt nach dem Wechsel zu Data Traffic wenn WiFi ist nicht verbunden, aber es gibt ein Problem.
Wenn Sie WLAN ausschalten, wenn der Bildschirm ausgeschaltet ist, wechselt es ständig zwischen WLAN und 3G-Netzwerk. Wenn Sie Apps zum Senden von Daten im Hintergrund ausgewählt haben, wird die Datenverbindung verwendet, die teurer ist, wenn Sie keinen unbegrenzten Datentarif haben.
Ein weiteres Problem ist, wenn Sie sich in einem Gebiet mit nicht so starkem WLAN-Signal befinden, ändert sich ständig der Datenverkehr und Sie haben Probleme beim Surfen oder was auch immer.
Das dritte Problem ist der Akku, wie ich gehört habe, ist es besser (akkumäßig), die WLAN-Verbindung als die Daten zu verwenden. Mit einem Add-On schalten Sie WLAN nicht aus, wenn der Bildschirm ausgeschaltet ist.(sogar, ich tue es), weil das Aus- und Einschalten von WLAN am teuersten ist (Batterie), um immer eingeschaltet zu sein.überlassen Sie es also dem Android-System.

Andere Tipps

Ich bin auch auf dieses Problem gestoßen, hier habe ich es gelöst.

In meiner Aktivität Oncreate (..) habe ich getan generasacodicetagpre.

und zusätzlich erstellte ich das Mitglied 'mwiFistatechangedreceiver' auf diese Weise generasacodicetagpre.

Wie Sie sehen, wenn ich generakodicetagcode bekomme, teste ich zusätzlich, wenn das Netzwerk wirklich verbunden ist, da ein aktiviertes WLAN nicht bedeutet, dass es angeschlossen ist.Zumindest war dies meine Vermutung, deshalb warte ich, bis das Netzwerk wirklich verbunden ist.

Wenn Sie die Signalstärke hören möchten, können Sie auch anhören:

WifiManager.RSSI_CHANGED_ACTION

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top