Eu tenho um Galaxy S 2 enraizado (I9100) e queria saber se posso reiniciar o Bluetooth no meu telefone através do cliente de terminal no meu telefone.
8
O seguinte comando do terminal deve ativar o Bluetooth via shell adb ou aplicativo Emulador de Terminal:
su
am start -a android.bluetooth.adapter.action.REQUEST_ENABLE
Na maioria das versões do Android, esse comando apresentará uma janela pop-up ao usuário pedindo para confirmar a solicitação para ativar o BT. Acredito que isso foi feito por motivos de segurança sempre que um aplicativo que não seja do sistema estiver alternando a BT.
Infelizmente, não encontrei uma maneira de desativar o BT por meio de um comando shell.
Com o WiFi, é muito mais fácil e não solicita permissão ao usuário:
su
svc wifi enable
ligará e
su
svc wifi disable
irá desligá-lo.
no android.bluetooth.IBluetoothManager, existem alguns parâmetros
android.os.IBinder.FIRST_CALL_TRANSACTION = 1
SO, com dispositivo enraizado, se você deseja desativar o bluetooth no modo superusuário adb shell (su)
se você quiser ligar o bluetooth novamente
fonte
Service bluetooth_manager does not exist
no Android 4.1.2Ativar bluetooth:
service call bluetooth 3
Desativar bluetooth:
service call bluetooth 4
fonte
su
- então tecnicamente nada AFAIK errado.service call bluetooth 5
funciona no meu Android 4.2.1 para desativar o bluetooth.Isso funciona a partir de um shell:
am start -a android.bluetooth.adapter.action.REQUEST_ENABLE & input keyevent 20 & adb shell input keyevent 21 & adb shell input keyevent 23
Basicamente, ele faz com que o diálogo apareça e, em seguida, envia pressionamentos de teclas para aceitar o comando
fonte
Minha solução funciona.
Observe que, ao executar o primeiro comando, ele salta uma janela solicitando que você selecione ALLOW.
Então você precisa do comando auto click.
Você pode obter a posição X, Y, ativando Opções do desenvolvedor-> Localização do ponteiro e toque no botão PERMITIR.
fonte