Как отключить или удалить сопряженное устройство bluetooth программно на android?
проект должен использовать мой телефон android для подключения к моим устройствам arduino. но как я могу распарывать парные? Я вижу, что парный список хранится там, где bluetoothadapter может получить в любое время.
PS:
1st, я знаю, что длительное нажатие парного устройства распарит его.
но вопрос в том, как я могу сделать это программно?
2nd, я проверил класс bluetoothdevice и bluetoothAdapter, нет функции для реализации этот.
спасибо.
4 ответов
этот код работает для меня.
private void pairDevice(BluetoothDevice device) {
try {
if (D)
Log.d(TAG, "Start Pairing...");
waitingForBonding = true;
Method m = device.getClass()
.getMethod("createBond", (Class[]) null);
m.invoke(device, (Object[]) null);
if (D)
Log.d(TAG, "Pairing finished.");
} catch (Exception e) {
Log.e(TAG, e.getMessage());
}
}
private void unpairDevice(BluetoothDevice device) {
try {
Method m = device.getClass()
.getMethod("removeBond", (Class[]) null);
m.invoke(device, (Object[]) null);
} catch (Exception e) {
Log.e(TAG, e.getMessage());
}
}
отменить сопряжение всех устройств:
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
if (pairedDevices.size() > 0) {
for (BluetoothDevice device : pairedDevices) {
try {
Method m = device.getClass()
.getMethod("removeBond", (Class[]) null);
m.invoke(device, (Object[]) null);
} catch (Exception e) {
Log.e("Removing has been failed.", e.getMessage());
}
}
}
в классе BluetoothService есть метод removebond () для распаривания сопряженных устройств. Наконец, этот метод вызывает rmovebondnative ().
Если вы хотите удалить устройство Bluetooth пары для этого в первую очередь вы должны распарить все устройство и нажмите на опцию serch вы найдете все устройство удалено из списка.