回答:
次のターミナルコマンドは、adbシェルまたはターミナルエミュレーターアプリを介してBluetoothを有効にする必要があります。
su
am start -a android.bluetooth.adapter.action.REQUEST_ENABLE
Androidのほとんどのバージョンでは、このコマンドは、BTを有効にする要求の確認を求めるポップアップウィンドウをユーザーに表示します。システムではないアプリがBTをトグルしているときはいつでも、これはセキュリティの目的で行われたと思います。
残念ながら、シェルコマンドでBTを無効にする方法が見つかりませんでした。
WiFiを使用すると、はるかに簡単になり、ユーザーに許可を求めるプロンプトが表示されません。
su
svc wifi enable
それをオンにし、
su
svc wifi disable
オフにします。
android.bluetooth.IBluetoothManagerには、いくつかのパラメーターがあります
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、ルート化されたデバイスで、adbシェルのスーパーユーザーモード(su)でBluetoothをオフにする場合
service call bluetooth_manager 8
Bluetoothを再度オンにしたい場合
service call bluetooth_manager 6
Service bluetooth_manager does not exist
Android 4.1.2の場合
Bluetoothを有効にする:
service call bluetooth 3
Bluetoothを無効にする:
service call bluetooth 4
su
うまくいきました-技術的には何も問題はありません。
service call bluetooth 5
Android 4.2.1でBluetoothを無効にします。
私の解決策は機能します。
am start -a android.bluetooth.adapter.action.REQUEST_ENABLE
sleep 1
input tap 872 1072
最初のコマンドを実行すると、ウィンドウが飛び出し、ALLOWを選択するように求められることに注意してください。
したがって、自動クリックコマンドが必要です。
X、Y位置を取得するには、[開発者向けオプション]-> [ポインタの位置]を有効にしてから、[許可]ボタンをタッチします。