我擁有根植的Galaxy S 2(I9100),想知道是否可以通過手機上的終端客戶端重新啟動手機上的藍牙。
我擁有根植的Galaxy S 2(I9100),想知道是否可以通過手機上的終端客戶端重新啟動手機上的藍牙。
以下終端命令應通過adb shell或終端仿真器應用程序啟用藍牙:
suam start -a android.bluetooth.adapter.action.REQUEST_ENABLE
不幸的是,我還沒有找到通過shell命令禁用BT的方法。
WiFi更加簡單,並且不會提示用戶權限:
susvc wifi enable
將其打開,並且
susvc 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 Shell超級用戶模式(su),請使用root設備。 p>
服務呼叫bluetooth_manager 8
如果您想再次打開藍牙
服務呼叫bluetooth_manager 6
這在shell上有效:
am start -a android.bluetooth.adapter.action.REQUEST_ENABLE &input keyevent 20 & adb shell input keyevent 21 & adb shell input keyevent 23
基本上,它將導致對話框出現,然後發送擊鍵以接受命令
我的解決方案有效。
am start -a android.bluetooth.adapter.action.REQUEST_ENABLEsleep 1input tap 872 1072
請注意,首次執行時命令,它會跳出一個窗口,詢問您是否選擇允許。
因此您需要自動點擊命令。
您可以通過啟用開發人員選項->指針來獲得X,Y位置位置,然後觸摸“允許”按鈕。