Tengo un Galaxy S 2 rooteado (I9100) y me preguntaba si puedo reiniciar el Bluetooth en mi teléfono a través del cliente terminal en mi teléfono.
Tengo un Galaxy S 2 rooteado (I9100) y me preguntaba si puedo reiniciar el Bluetooth en mi teléfono a través del cliente terminal en mi teléfono.
Respuestas:
El siguiente comando de terminal debe habilitar Bluetooth a través de adb shell o la aplicación Terminal Emulator:
su
am start -a android.bluetooth.adapter.action.REQUEST_ENABLE
En la mayoría de las versiones de Android, este comando presentará una ventana emergente al usuario que le pedirá que confirme la solicitud para habilitar BT. Creo que esto se hizo por motivos de seguridad cada vez que una aplicación que no es del sistema alterna BT.
Lamentablemente, no he encontrado una manera de desactivar BT a través de un comando de shell.
Con WiFi es mucho más fácil y no solicita permiso al usuario:
su
svc wifi enable
lo encenderá y
su
svc wifi disable
lo apagará
en android.bluetooth.IBluetoothManager, hay algunos parámetros
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, con dispositivo rooteado, si desea desactivar bluetooth en modo super usuario adb shell (su)
service call bluetooth_manager 8
si quieres volver a activar bluetooth
service call bluetooth_manager 6
Service bluetooth_manager does not exist
en Android 4.1.2
Habilitar bluetooth:
service call bluetooth 3
Deshabilitar bluetooth:
service call bluetooth 4
su
, por lo que técnicamente no hay nada malo AFAIK.
service call bluetooth 5
funciona en mi Android 4.2.1 para deshabilitar bluetooth.
Mi solución funciona
am start -a android.bluetooth.adapter.action.REQUEST_ENABLE
sleep 1
input tap 872 1072
Tenga en cuenta que cuando ejecuta el primer comando, salta una ventana que le pide que seleccione PERMITIR.
Entonces necesita el comando de clic automático.
Puede obtener la posición X, Y habilitando Opciones de desarrollador-> Ubicación del puntero, luego toque el botón PERMITIR.