Comment désactiver Wifi via ADB?

je suis en train d'automatiser une procédure de test pour les appels wifi et je me demandais s'il y avait un moyen de désactiver/activer le wifi via adb?

je voudrais désactiver/activer le wifi ou supprimer les appels wifi (com.movial.wificall) et le redémarrer.

est-il possible de faire tout cela via les commandes ADB et shell?

jusqu'à présent, j'ai trouvé:

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

je suis juste pas sûr de la façon de les mettre ensemble

44
demandé sur Jared Burrows 2012-04-05 22:11:57

8 réponses

utilisant "svc" par ADB (Root required):

Activer:

adb shell su -c 'svc wifi enable'

Désactiver:

adb shell su -c 'svc wifi disable'

utilisant les événements clés par 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

La première ligne de lancement "wifi.Wifisettings " activité qui ouvre la page Paramètres WiFi. La deuxième ligne de simuler des touches.

j'ai testé ces deux lignes sur un droïde X. Mais les événements clés ci-dessus doivent probablement être édités dans d'autres appareils en raison de la disposition différente des paramètres.

plus d'informations sur" keyevents " here .

86
répondu Jared Burrows 2017-05-23 12:10:33

je cherchais la même chose pour allumer et éteindre bluetooth, et j'ai trouvé ceci:

adb shell svc wifi enable|disable
41
répondu Berkk 2012-10-22 14:41:02

la façon Simple d'activer le wifi sur les appareils non enracinés est d'utiliser une application simple:

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" />

commandes ADB:

$ adb shell am start -n org.mytools.config/.MainActivity -e wifi true
$ adb shell am start -n org.mytools.config/.MainActivity -e wifi false
23
répondu Ruslan 2013-04-15 05:26:26
  1. aller à l'emplacement android/android-sdk/platform-tools
  2. shift +clic droit
  3. ouvrez cmd ici et tapez les commandes suivantes

    1. adb shell
    2. su
    3. svc wifi enable/disable
  4. fait!!!!!

5
répondu Musab 2015-10-29 09:06:36
adb shell "svc wifi enable"

Cela a fonctionné et il rend l'action en arrière-plan sans ouverture option relative à !!

2
répondu Arun 2015-01-27 15:56:40

j'ai testé cette commande: adb shell suis démarrer -un android.intention.action.MAIN-N com.Android.paramètre./wifi.WifiSettings la commande adb shell entrée keyevent 19 & adb shell entrée keyevent 19 & adb shell entrée keyevent 23

et ne fonctionne que sur l'invite de fenêtre, peut-être à cause d'un certain pilote

à propos de adb shell svc wifi activer|désactiver je suppose que seul le travail avec de la racine de l'autorisation

1
répondu Igor Maia Romcy 2015-06-08 14:26:19

je peux le faire:

settings put global wifi_on 0
settings put global wifi_scan_always_enabled 0

parfois, si fait pendant le démarrage (i.e. pour corriger bootloop tel que ce ), il ne s'applique pas bien et vous pouvez procéder aussi en activant le mode avion en premier:

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

L'autre option est de forcer ceci avec:

while true; do settings put global wifi_on 0; done

testé sur Android 7 sur LG G5 (SE) avec (non-référencé) stock mod.

1
répondu Treviño 2017-11-21 18:49:06

utiliser avec des guillemets

ex: adb shell "svc wifi enable"

cela va fonctionner :)

0
répondu SanalBathery 2013-01-24 14:21:23