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

时间:2019-06-25 06:40:48

标签: 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++;
                }
            }
      }

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

还有其他可以使用的东西吗?请提供一些宝贵的反馈意见。

谢谢!

一些经过测试的设备是:

  • 小米Mi Mix 3
  • 小米Redmi Note 7
  • 小米Redmi 6A
  • 小米Mi Max 2

0 个答案:

没有答案