web-dev-qa-db-fra.com

Activer le mode avion via ADB

J'ai regardé partout et je n'ai pas trouvé de réponse concrète à cette question. J'espère trouver un moyen de basculer le mode avion depuis ADB sans impliquer l'interface graphique de quelque manière que ce soit. J'ai trouvé et utilisé la méthode qui appelle le menu, puis l'utilisation de keyevents active le mode avion, mais en raison de la nécessité de prendre en compte les modifications possibles de la disposition de l'interface utilisateur, cette méthode n'est qu'une solution temporaire.

Je commence à penser qu'il n'y a pas de moyen d'activer ou de désactiver le mode avion de manière intentionnelle, mais si vous avez des informations, je vous en serais très reconnaissant.

18
Charles Daily

Pour activer le mode APN

adb Shell settings put global airplane_mode_on 1

Pour désactiver le mode APN

adb Shell settings put global airplane_mode_on 0 

vérifié sur Android-L

7
G murali Madhav
adb Shell am start -a Android.settings.AIRPLANE_MODE_SETTINGS
adb Shell input keyevent 19 & adb Shell input keyevent 23
4
william

adb Shell am start -a Android.settings.AIRPLANE_MODE_SETTINGS & adb Shell input keyevent KEYCODE_ENTER & adb Shell input keyevent 4

Va basculer en mode avion. Cependant, est-ce que quelqu'un sait s'il existe un moyen de décocher explicitement ou de cocher la case? Le problème est que je ne peux pas trouver un moyen de vérifier l'état avant de basculer. adb Shell settings get global airplane_mode_on ne fonctionne pas pour moi, les paramètres ne sont pas trouvés.

3
JonFitt

désactiver le mode avion:

if [[ "$(adb Shell dumpsys wifi | grep mAirplaneModeOn)" == "mAirplaneModeOn true" ]]; then  

    adb Shell am start -a Android.settings.AIRPLANE_MODE_SETTINGS
        && input keyevent 19
        && input keyevent 23
        && input keyevent 4
fi

activer le mode avion:

if [[ "$(adb Shell dumpsys wifi | grep mAirplaneModeOn)" == "mAirplaneModeOn false" ]]; then            

    adb Shell am start -a Android.settings.AIRPLANE_MODE_SETTINGS
        && input keyevent 19
        && input keyevent 23
        && input keyevent 4
fi
2
G murali Madhav

Voici comment j'ai pu activer le mode Avion sur emulator (API 25) en surmontant le problème des autorisations.

adb -s emulator-5554 Shell settings put global airplane_mode_on 1
adb -s emulator-5554 Shell 'su 0 am broadcast -a Android.intent.action.AIRPLANE_MODE'

Veuillez noter que votre ' su 0 ' peut varier. Par exemple, pour les anciennes API, je devais utiliser ' su & '

Si vous souhaitez désactiver uniquement les données de l'émulateur, utilisez

svc data disable

Cependant, j'ai vu des cas où emulator auto se reconnecte après quelques secondes.

2
AccTest

ne fonctionne que sur le périphérique Rooted. .

activer le mode avion:

Paramètres de shell ad -c mis global airplane_mode_on 1

adb Shell -c est diffusé -a Android.intent.action.AIRPLANE_MODE --ez state true

désactiver le mode avion:

Paramètres de shell ad -c mis global airplane_mode_on 0

adb Shell - je suis diffusé - a Android.intent.action.AIRPLANE_MODE --ez state false

2
ashish chauhan

william's answer était le plus proche qui a fonctionné pour moi -> Android 5.0 Lollipop. Cependant, parfois, il ne basculait pas car il essayait de basculer avant que l'activité Paramètres ne soit complètement chargée.

J'ai donc fait dormir le terminal pendant 0,1 seconde. et j'ai ajouté frapper le dos pour sortir de Paramètres

adb Shell am start -a Android.settings.AIRPLANE_MODE_SETTINGS
adb Shell input keyevent 19 ; sleep 0.1; adb Shell input keyevent 23; sleep 0.3; adb Shell input keyevent 4;
echo "Toggled airplane mode";
1
bboyairwreck

Utilisez la commande suivante pour lancer Paramètres > Réseaux sans fil , bascule Mode avion et revenir (en appuyant sur Retour):

  • Windows/DOS: adb Shell am start -a Android.settings.AIRPLANE_MODE_SETTINGS & adb Shell input keyevent 19 & adb Shell input keyevent 23 & adb Shell input keyevent 4
  • Unix/Linux: adb Shell am start -a Android.settings.AIRPLANE_MODE_SETTINGS ; adb Shell input keyevent 19 ; adb Shell input keyevent 23 ; adb Shell input keyevent 4

Testé sur Samsung Galaxy S (Android OS 2.3.3).

1
Juuso Ohtonen

Pour les nouveaux Android, cela en/désactive le wifi. Ce n'est pas tout à fait votre tâche, mais j'aurais été ravie de la trouver ici:

adb Shell svc wifi disable

ou

adb Shell svc wifi enable

Le crédit va à cette réponse: https://stackoverflow.com/a/27228962/1021872

0
cdanzmann

Puisque les commandes de diffusion ont cessé de fonctionner après Nougat, je vous recommanderais d'utiliser quelque chose comme ceci:

adb Shell "input keyevent KEYCODE_WAKEUP; entrée keyevent KEYCODE_MOVE_HOME; am start -a Android.settings.AIRPLANE_MODE_SETTINGS; sommeil 0.5; entrée keyevent KEYCODE_ENTER; pm clear com.Android.settings; entrée keyevent KEYCODE_HOME"

Cela fonctionne sur Samsung S7

0
Wayne Marquette