使用反射取消配对的蓝牙设备并调用“removeBond”方法不起作用

Vis*_*rma 6 android kotlin android-bluetooth

很长一段时间以来,我一直在使用 BluetoothDevice 类中的 removeBond 方法来取消设备配对。但是在大多数小米设备中,这是行不通的。

检查我正在使用的以下代码:

            Set<BluetoothDevice> devices = mBluetoothAdapter.getBondedDevices();
        for (BluetoothDevice device : devices) {
            Log.i("DeletePairedDeviceByNm", "Found Device:" +
                    device.getName() + ", Looking for:" + BDName + "\n");
             if ((device.getName().trim().equals(BDName.trim()))) {

                Method m = device.getClass().getMethod("removeBond", (Class[]) null);

                Object value=m.invoke(device, (Object[]) null);
                if((boolean)value){
                    numberPairedDevicesDeleted++;
                }
            }
      }
Run Code Online (Sandbox Code Playgroud)

据我所知,这是“取消配对”连接设备的唯一方法。

还有什么可以使用的吗?请向我提供一些有价值的反馈。

提前致谢!

一些经过测试的设备是:

  • 小米米混合3
  • 小米红米 Note 7
  • 小米红米6A
  • 小米米最大2