如何断开A2DP配置文件蓝牙连接?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何断开A2DP配置文件蓝牙连接?相关的知识,希望对你有一定的参考价值。
我正在与耳机和其他蓝牙设备进行A2DP连接,但是当我连接蓝牙设备但我断开但它没有与它断开连接时。我的代码是:
try {
Method connect = mA2dpService.getClass().getDeclaredMethod("disconnect", BluetoothDevice.class);
connect.invoke(device);
} catch (Exception e) {
e.printStackTrace();
}
答案
终于我找到了
调用getProfileProxy以获取a2dp代理
adapter.getProfileProxy(c, listner, BluetoothProfile.A2DP);
监听器应该在A2DPProxy Received上实现。
然后将调用回调onA2DPProxyReceived。
public void onA2DPProxyReceived (BluetoothA2dp proxy) {
Method disconnect = null;
try {
disconnect = BluetoothA2dp.class.getDeclaredMethod("disconnect", BluetoothDevice.class);
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
BluetoothDevice device = findBondedDeviceByName(mBtAdapter, myDevice);
disconnect.setAccessible(true);
try {
int result = disconnect.invoke(proxy,device);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
请参阅以下网站
- getDeclaredMethod:https://www.tutorialspoint.com/java/lang/class_getdeclaredmethod.htm
- https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/bluetooth/BluetoothA2dp.java
- 调用:https://docs.oracle.com/javase/tutorial/reflect/member/methodInvocation.html
以上是关于如何断开A2DP配置文件蓝牙连接?的主要内容,如果未能解决你的问题,请参考以下文章
除了 6 个配置文件(HFP、PBAP、A2DP、AVRCP、PAN、HID)之外,iOS 中是不是有任何受支持的蓝牙配置文件?