android启用通过命令行禁用蓝牙

时间:2016-05-16 16:57:58

标签: shell terminal bluetooth command adb

我正在尝试使用命令行在Android设备上启用禁用蓝牙。

我可以使用

启用它

adb shell am start -a android.bluetooth.adapter.action.REQUEST_ENABLE

但它会提示用户“允许”或“拒绝”。

我还看到可以选择首先启动ble设置,如

adb shell am start -a android.settings.BLUETOOTH_SETTINGS

然后启用禁用adb shell input keyevent **

但它不会与设备无关。

10 个答案:

答案 0 :(得分:14)

启用:

adb shell service call bluetooth_manager 6

要禁用:

adb shell service call bluetooth_manager 8

答案 1 :(得分:3)

要运行先前评论中列出的命令,您需要是root:

adb root

启用:

adb shell service call bluetooth_manager 6

禁用:

adb shell service call bluetooth_manager 8

答案 2 :(得分:3)

启用:

trial_vec    = np.tile(np.arange(16)+1, 10)     
stimulus_vec = np.repeat([-2., -1.75, -1., -0.75, -0.5,  0.5,  1.,  1.25,  1.75,  2.5 ], 16)                  
data_vec     = np.random.randint(0, 16, size=160)
spi_num      = pd.DataFrame({'trial': trial_vec, 'stimulus': stimulus_vec, 'data': data_vec}).astype('object')

要禁用:

adb shell service call bluetooth_manager 6

在三星Galaxy S7上测试并使用过。

答案 3 :(得分:1)

在小米Mi 4i / MIUI 9上:

要启用:

  

adb shell服务调用bluetooth_manager 8

要禁用:

  

adb shell服务调用bluetooth_manager 10

这也可以在Andorid中运行,例如:

  

服务呼叫bluetooth_manager 10

答案 4 :(得分:1)

正如awm129所指出的那样,使用service call的解决方案与设备无关。虽然我无法完全消除对service call的使用,但以下解决方案应该与设备无关:

要禁用:

pm disable com.android.bluetooth

要启用:

pm enable com.android.bluetooth
service call bluetooth_manager 6

我希望有人最终会找到无service call的解决方案。

答案 5 :(得分:1)

您可以获取的蓝牙状态

adb shell settings get global bluetooth_on 

adb shell settings list global |grep ^bluetooth_on

启用蓝牙

adb shell settings put global bluetooth_on 1

禁用蓝牙

adb shell settings put global bluetooth_on 0

通过-无需请求,请使用启用

adb shell am broadcast -a android.intent.action.BLUETOOTH_ENABLE --ez state true

通过关键事件

adb shell am start -a android.settings.BLUETOOTH_SETTINGS 
adb shell input keyevent 19
adb shell input keyevent 23

答案 6 :(得分:0)

启用

svc bluetooth enable

要禁用

svc bluetooth disable

答案 7 :(得分:0)

对于那些想知道数字6和8是从哪里来的人们。它来自以下帮助文件:https://android.googlesource.com/platform/system/bt/+/master/binder/android/bluetooth/IBluetoothManager.aidl 从此帮助列表中列出的第一个功能开始计数,您会看到启用功能是列表中的第6个功能,而禁用功能是列表中的第8个功能。

答案 8 :(得分:0)

我的信誉点不足,无法添加评论,因此我正在跟踪TripeHound对wuseman的回答的评论。

我尝试了TripeHound设置蓝牙全局设置的方法(

adb shell settings put global bluetooth_on 1

)在Samsung Galaxy Tab A(运行Android 10的SAMSUNG SM-T515,内核4.4.177)上,它确实确实可以正常工作。但是,打开快捷设置菜单时,蓝牙图标不会显示更改,当您进入完整设置菜单时,蓝牙图标也不会显示更改。

也就是说,如果我在平板电脑确实会以正确的状态重新启动之后立即重新启动平板电脑,那么我不确定是否有必要以某种方式重新读取全局设置以确保蓝牙无线电确实关闭。 >

评论表示赞赏!

答案 9 :(得分:0)

只需使用com.intangibleobject.securesettings.plugin。 它允许各种蓝牙装置,以及一个接一个的连接/断开设备。