ответ

3

Чтобы отменить сопряжение все устройства используют этот код

Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices(); 
     if (pairedDevices.size() > 0) { 
      for (BluetoothDevice device : pairedDevices) { 
       try { 
        if(device.getName().contains("abc")){ 
        Method m = device.getClass() 
          .getMethod("removeBond", (Class[]) null); 
        m.invoke(device, (Object[]) null); 
        } 
       } catch (Exception e) { 
        Log.e("fail", e.getMessage()); 
       } 
      } 
     } 
1

Если вы специфичны о BLE (Bluetooth низкой энергии), Чтобы получить все скрепленные устройства вы можете написать метод как.

public List<BluetoothDevice> getConnectedDevices() { 
     BluetoothManager btManager = (BluetoothManager)getSystemService(BLUETOOTH_SERVICE); 
     return btManager.getConnectedDevices(BluetoothProfile.GATT); 
    } 

Это возвращает список устройств BLE, подключенных к профилю GATT. Fetch имени подтвердить, если это устройство, которое вы хотите разъединитель как:

List<BluetoothDevice> btdevices = getConnectedDevices(); 
       for(int i=0;i<btdevices.size();i++) 
       { 
        //match your device here 
        Log.d("saurav"," BLE Name:"+btdevices.get(i).getName()); 
      } 

Для отключения вы можете просто вызвать метод отключения. Вам нужно отключиться от экземпляра gatt (тот же gatt-экземпляр, который вы использовали для подключения устройства BLE).

public void disconnect() { 
     if (gatt == null) { 
      return; 
     } 
     gatt.disconnect(); 

    } 

Это отключит ваше устройство BLE. У меня есть teste tshi лично и работает на меня.

Смежные вопросы