J'ai un Galaxy S 2 rooté (I9100) et je me demandais si je pouvais redémarrer le Bluetooth sur mon téléphone via le client terminal de mon téléphone.
J'ai un Galaxy S 2 rooté (I9100) et je me demandais si je pouvais redémarrer le Bluetooth sur mon téléphone via le client terminal de mon téléphone.
Réponses:
La commande de terminal suivante doit activer Bluetooth via le shell adb ou l'application Terminal Emulator:
su
am start -a android.bluetooth.adapter.action.REQUEST_ENABLE
Sur la plupart des versions d'Android, cette commande présentera une fenêtre contextuelle à l'utilisateur demandant de confirmer la demande d'activation de BT. Je crois que cela a été fait à des fins de sécurité chaque fois qu'une application qui n'est pas un système bascule BT.
Je n'ai malheureusement pas trouvé de moyen de désactiver BT via une commande shell.
Avec le WiFi, c'est beaucoup plus facile et n'invite pas l'utilisateur à obtenir la permission:
su
svc wifi enable
va l'allumer, et
su
svc wifi disable
le désactivera.
dans android.bluetooth.IBluetoothManager, il y a quelques paramètres
TRANSACTION_registerAdapter = (android.os.IBinder.FIRST_CALL_TRANSACTION + 0); TRANSACTION_unregisterAdapter = (android.os.IBinder.FIRST_CALL_TRANSACTION + 1); TRANSACTION_registerStateChangeCallback = (android.os.IBinder.FIRST_CALL_TRANSACTION + 2); TRANSACTION_unregisterStateChangeCallback = (android.os.IBinder.FIRST_CALL_TRANSACTION + 3); TRANSACTION_isEnabled = (android.os.IBinder.FIRST_CALL_TRANSACTION + 4); TRANSACTION_enable = (android.os.IBinder.FIRST_CALL_TRANSACTION + 5); TRANSACTION_enableNoAutoConnect = (android.os.IBinder.FIRST_CALL_TRANSACTION + 6); TRANSACTION_disable = (android.os.IBinder.FIRST_CALL_TRANSACTION + 7);
TRANSACTION_getAddress = (android.os.IBinder.FIRST_CALL_TRANSACTION + 8); TRANSACTION_getName = (android.os.IBinder.FIRST_CALL_TRANSACTION + 9);
android.os.IBinder.FIRST_CALL_TRANSACTION = 1
SO, avec un appareil rooté, si vous voulez désactiver le bluetooth en mode super utilisateur du shell adb (su)
service call bluetooth_manager 8
si vous souhaitez réactiver le bluetooth
service call bluetooth_manager 6
Service bluetooth_manager does not exist
sur Android 4.1.2
Activez le bluetooth:
service call bluetooth 3
Désactiver le bluetooth:
service call bluetooth 4
su
- donc techniquement rien de mal à AFAIK.
service call bluetooth 5
fonctionne dans mon Android 4.2.1 pour désactiver le bluetooth.
Cela fonctionne à partir d'un shell:
am start -a android.bluetooth.adapter.action.REQUEST_ENABLE &
input keyevent 20 & adb shell input keyevent 21 & adb shell input keyevent 23
Fondamentalement, il fait apparaître la boîte de dialogue, puis envoie des touches pour accepter la commande
Ma solution fonctionne.
am start -a android.bluetooth.adapter.action.REQUEST_ENABLE
sleep 1
input tap 872 1072
Notez que lors de l'exécution de la première commande, il saute une fenêtre vous demande de sélectionner AUTORISER.
Vous avez donc besoin de la commande de clic automatique.
Vous pouvez obtenir la position X, Y en activant les options du développeur-> Emplacement du pointeur, puis appuyez sur le bouton AUTORISER.