it-swarm.com.de

Wie kann ich WLAN via ADB ausschalten?

Ich automatisiere ein Testverfahren für WLAN-Anrufe und habe mich gefragt, gibt es eine Möglichkeit, WLAN über ADB auszuschalten?

Ich möchte entweder WLAN deaktivieren/aktivieren oder das Wifi-Aufrufen (com.movial.wificall) beenden und neu starten. 

Kann man dies alles über adb- und Shell-Befehle tun? 

bisher habe ich gefunden:

Android.net.wifi.WifiManager
setWifiEnabled(true/false)

Ich bin nur nicht sicher, wie ich es zusammenbauen soll

44
Nefariis

Verwendung von "svc" durch ADB (gerootet erforderlich):

Aktivieren:

adb Shell su -c 'svc wifi enable'

Deaktivieren:

adb Shell su -c 'svc wifi disable'

Verwenden von Schlüsselereignissen über ADB:

adb Shell am start -a Android.intent.action.MAIN -n com.Android.settings/.wifi.WifiSettings
adb Shell input keyevent 20 & adb Shell input keyevent 23

Die erste Zeile startet die Aktivität "wifi.WifiSettings", mit der die Seite "WLAN-Einstellungen" geöffnet wird. Die zweite Zeile simuliert das Drücken von Tasten.

Ich habe diese beiden Zeilen auf einem Droid X getestet. Die wichtigsten Ereignisse müssen jedoch möglicherweise auf anderen Geräten bearbeitet werden, da das Layout der Einstellungen unterschiedlich ist.

Mehr Infos zu "Keyevents" hier .

89
Jared Burrows

Ich suchte nach dem gleichen, um Bluetooth ein-/auszuschalten, und fand Folgendes:

adb Shell svc wifi enable|disable
43
Berkk

Die einfache Möglichkeit, WLAN auf nicht gerooteten Geräten zu wechseln, ist die einfache Anwendung:

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WifiManager wfm = (WifiManager) getSystemService(Context.WIFI_SERVICE);
        try {
            wfm.setWifiEnabled(Boolean.parseBoolean(getIntent().getStringExtra("wifi")));
        } catch (Exception e) {
        }
        System.exit(0);
    }
}

AndroidManifest.xml:

<uses-permission Android:name="Android.permission.CHANGE_WIFI_STATE" />

ADB-Befehle:

$ adb Shell am start -n org.mytools.config/.MainActivity -e wifi true
$ adb Shell am start -n org.mytools.config/.MainActivity -e wifi false
24
Ruslan
  1. przejdź do lokalizacji Android/android-sdk/platform-tools
  2. shift+ kliknij prawym przyciskiem myszy
  3. otwórz cmd tutaj i wpisz następujące polecenia

    1. adb Shell
    2. suname__
    3. svc wifi enable/disable
  4. gotowe !!!!!

5
Musab
adb Shell "svc wifi enable"

Dies hat funktioniert und es macht Aktionen im Hintergrund, ohne die entsprechende Option zu öffnen !!

3
Arun

Ich habe diesen Befehl getestet: 

adb Shell am start -a Android.intent.action.MAIN -n com.Android.settings/.wifi.WifiSettings
adb Shell input keyevent 19 & adb Shell input keyevent 19 & adb Shell input keyevent 23

und funktioniert nur bei Windows Prompt, vielleicht wegen eines Treibers

über adb Shell svc wifi enable|disable Ich denke, das funktioniert nur mit root-Berechtigung

2
Igor Maia Romcy

Ich kann einfach tun:

settings put global wifi_on 0
settings put global wifi_scan_always_enabled 0

Wenn dies während des Startvorgangs ausgeführt wird (d. H. Um bootloop wie hier zu beheben), trifft dies manchmal nicht zu, und Sie können auch zunächst den Flugzeugmodus aktivieren:

settings put global airplane_mode_on 1
settings put global wifi_on 0
settings put global wifi_scan_always_enabled 0

Eine andere Möglichkeit besteht darin, dies zu erzwingen:

while true; do settings put global wifi_on 0; done

Getestet in Android 7 auf LG G5 (SE) mit (ungerottetem) Lager mod.

0
Treviño

verwenden Sie mit Anführungszeichen

zB:adb Shell "svc wifi enable"

das wird funktionieren :)

0
SanalBathery