昨天想写一个小工具,就是定时断开某个蓝牙设备的连接,直到今天,我翻遍了蓝牙相关的 api,都没找到可以断开蓝牙设备的方法
目前就
BluetoothA2dp::class.java.getMethod("disconnect",BluetoothDevice::class.java)
这个方法管点用,但是这个方法调用后系统又马上重连了。
想问问各位有没有什么妙招?
1
masker 2020-02-28 14:41:02 +08:00 via Android
tasker ?
|
2
fansangg OP 在 BluetoothA2dp 里还找到一个 hide 方法「 setPriority 」,本来想设置为 0 石狮的,但是在我的机器上反射调的时候报了 NoSuchMethodException
|
4
ju5t4fun 2020-02-28 15:36:11 +08:00
反射调用 api 取消与耳机的配对,需要连接的时候再调用 api 重新配对?
|
8
twttwt 2020-02-28 17:06:03 +08:00
BluetoothDevice 反射调用 cancelPairingUserInput 就行
|
10
Tuuure 2020-02-28 18:01:12 +08:00
断开蓝牙设备需要断开所有 Profile,蓝牙耳机一般需要调用 BluetoothA2dp 和 BluetoothHeadset 的 disconnect
|
11
also24 2020-02-28 18:02:48 +08:00
|
13
mgrddsj 2020-02-28 20:04:17 +08:00 via Android
我自用的方式:
Tasker + Secure Settings. Secure Settings 里面有蓝牙连接 /断开管理。 Tasker 负责定时执行任务。 |
15
mgrddsj 2020-02-29 21:30:56 +08:00
昨天随手顺便录了个 Tasker 的视频,B 站过审慢,不知道你还需不需要,不需要就无视我吧。
https://www.bilibili.com/video/av92469166/ |
16
JoDragon 2020-08-04 09:23:31 +08:00
兄弟,有办法了吗?试了好几个方法感觉都不太理想啊
|