closeProfileProxy 没有断开我的 A2DP 蓝牙连接,不知道为什么

closeProfileProxy is not disconnecting my A2DP bluetooth connection, not sure why

我使用 a2dp 配置文件连接到蓝牙设备。那部分工作正常,但是当需要断开连接时,所有预期的代码都被访问了,但设备没有断开连接,我不确定我做错了什么。这是我的断开连接代码:

public void disconnectFromOther(BluetoothDevice device) {
    BluetoothProfile.ServiceListener serviceListener =
            new BluetoothProfile.ServiceListener() {
                @Override
                public void onServiceDisconnected(int profile) {

                }

                public void onServiceConnected(int profile, BluetoothProfile proxy) {
                    Method disconnect;

                    try {
                        disconnect = a2dp.getClass()
                                .getMethod("disconnect", BluetoothDevice.class);
                        disconnect.setAccessible(true);
                        disconnect.invoke(proxy, device);
                    } catch (NoSuchMethodException e) {
                        e.printStackTrace();
                    } catch (IllegalAccessException e) {
                        e.printStackTrace();
                    } catch (InvocationTargetException e) {
                        e.printStackTrace();
                    }
                    BluetoothAdapter.getDefaultAdapter().closeProfileProxy(profile, proxy);
                }
            };
                BluetoothAdapter.getDefaultAdapter().getProfileProxy(context, serviceListener, BluetoothProfile.A2DP);
}

编辑:我现在也尝试了 BluetoothGatt,但我仍然无法断开我的设备。

事实证明,耳机 (BluetoothProfile.HEADSET) 的第二个配置文件也被打开,我在 logcat 输出中发现了它。关闭该配置文件以及我的 a2dp 配置文件会关闭连接。