android - otro - cómo desvincular un dispositivo bluetooth
¿Cómo desvincular o eliminar el dispositivo bluetooth vinculado programáticamente en Android? (4)
El proyecto es usar mi teléfono Android para conectarme con mis dispositivos Arduino. pero ¿cómo puedo desvincular los pares? Veo que parece que la lista de pares está almacenada donde bluetoothadapter podría recuperar en cualquier momento.
PD: Primero, sé que el dispositivo emparejado por mucho tiempo lo desvinculará.
pero la pregunta aquí es ¿cómo puedo hacer que esto ocurra programáticamente?
Segundo, he comprobado el dispositivo bluetooth y la clase bluetoothAdapter, no hay ninguna función para implementar esto.
Gracias.
Este código funciona para mí.
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());
}
}
Si desea eliminar el par dispositivo bluetooth para esto primero, debe desvincular todo el dispositivo y luego hacer clic en la opción de serch encontrará que todo el dispositivo se ha eliminado de la lista.
desvincular todos los dispositivos:
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());
}
}
}
en la clase BluetoothService hay un método removebond () para desvincular, dispositivos emparejados. Finalmente este método llama rmovebondnative ().