Jetez un œil à la simulation d'événements clés sur Android et recherchez "KEYCODE_VOLUME_UP" et "KEYCODE_VOLUME_DOWN".
Les événements peuvent être générés en exécutant "input":
#local shell:
input keyevent 24 #vol up
input keyevent 25 #vol down
#remotely using ssh
ssh your-phone input keyevent 24 #vol up
ssh your-phone input keyevent 25 #vol down
# 'su -c command' to make it run as root (if not already). EDIT: now escaped properly.
ssh your-phone su -c "input\ keyevent\ 24" #vol up
ssh your-phone su -c "input\ keyevent\ 25" #vol down"
Votre shell a probablement besoin des autorisations appropriées pour déclencher des événements d'entrée, je suppose. Si vous effectuez l'authentification par clé publique et conservez votre clé privée chargée en mémoire (ssh-add), vous pouvez créer un script d'encapsuleur et l'exécuter simplement sans être invité à saisir une phrase secrète. Remarque: Il y a un surcoût considérable pour les deux «su» et «entrée», dans l'ensemble un seul réglage du volume prend 2,5 secondes pour terminer sur mon HTC Desire.
EDIT2:
shell@android:/ $ id
uid=2000(shell) gid=2000(shell) groups=1003(graphics),1004(input),[...]
shell@android:/ $ time input keyevent 24
0m0.92s real 0m0.29s user 0m0.06s system
Il semble que vous devez être membre du groupe d'entrée (ici GID = 2004) pour avoir la capacité de générer des événements clés en utilisant «entrée». De plus, j'ai remarqué que l'écran ne doit pas être verrouillé (et / ou éteint), car le verrou consommerait éventuellement tous les événements clés. Notez également que la commande prend presque 1 seconde.
I/Input ( 2502): InjectKeyEvent: KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_VOLUME_UP, scanCode=0, metaState=0, flags=0x0, repeatCount=0, eventTime=399847, downTime=399847, deviceId=-1, source=0x101 } I/Input ( 2502): InjectKeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_VOLUME_UP, scanCode=0, metaState=0, flags=0x0, repeatCount=0, eventTime=399847, downTime=399847, deviceId=-1, source=0x101 }
. Je dois ajouter que je suis nouveau sur Android.