我正在尝试构建一个应用程序,当我按下按钮时,它将断开蓝牙耳机的连接。我能够获取已连接蓝牙设备的名称和 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();
}
};
但不幸的是,我无法让它发挥作用。它什么也没做,我不明白它到底应该做什么。
此方法会断开已配对设备的连接,但之后无法重新连接。您必须关闭并打开设备电源才能进行配对和重新连接。我只需要断开/连接功能。
// 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());
}
}