如何断开与手机连接的蓝牙设备?

问题描述 投票:0回答:1

我正在尝试构建一个应用程序,当我按下按钮时,它将断开蓝牙耳机的连接。我能够获取已连接蓝牙设备的名称和 MAC 地址,但我不知道断开/连接设备的命令是什么。我正在寻找使用配对设备的 MAC 地址的东西,但我找不到任何东西。

我们将不胜感激。

我在这里尝试过这段代码

    public void disConnectDevice(String address) {
        BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
        BluetoothDevice device = bluetoothAdapter.getRemoteDevice(address);
        BluetoothGatt mBluetoothGatt = device.connectGatt(this, false, gattCallback);
        mBluetoothGatt.disconnect();
    }

    private BluetoothGattCallback gattCallback = new BluetoothGattCallback() {
        @Override
        public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
            super.onConnectionStateChange(gatt, status, newState);
            gatt.close();
        }
    };

但不幸的是,我无法让它发挥作用。它什么也没做,我不明白它到底应该做什么。

android bluetooth device connect disconnect
1个回答
0
投票

此方法会断开已配对设备的连接,但之后无法重新连接。您必须关闭并打开设备电源才能进行配对和重新连接。我只需要断开/连接功能。

// Assuming 'device' is an instance of 'BluetoothDevice' you want to disconnect
public void disconnectDevice(BluetoothDevice device) {
    try {
        Method m = device.getClass().getMethod("removeBond", (Class[]) null);
        m.invoke(device, (Object[]) null);
    } catch (Exception e) {
        Log.e("TAG", "Could not disconnect device: " + e.getMessage());
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.