我想以编程方式在Android手机上删除名称以“ABC”开头的配对蓝牙低功耗设备。
我正在使用Android工作室。
答案 0 :(得分:4)
要取消配对所有设备,请使用此代码
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 :(得分:1)
如果您具体了解BLE(蓝牙低能耗), 要获得所有绑定设备,您可以编写一个方法。
public List<BluetoothDevice> getConnectedDevices() {
BluetoothManager btManager = (BluetoothManager)getSystemService(BLUETOOTH_SERVICE);
return btManager.getConnectedDevices(BluetoothProfile.GATT);
}
返回GATT配置文件中连接的BLE设备列表。 如果要将此设备断开,请获取名称确认为:
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());
}
要断开连接,您只需调用disconnect方法即可。您需要与gatt实例断开连接(用于连接BLE设备的相同gatt实例)。
public void disconnect() {
if (gatt == null) {
return;
}
gatt.disconnect();
}
这将断开您的BLE设备。我亲自为我工作并为我工作。