问题建议我们有自己的BLE设备和Android应用程序来连接该设备。我们能够与BLE设备连接并成功完成所有操作。
与此同时,我们能够使用其他第三方应用程序检测我们的BLE设备,并能够连接和执行操作。
但我们希望限制其他应用程序与我们的BLE设备连接,如果他们立即与设备连接,则需要断开连接。我已经搜索过google和SO但是无法获得任何信息来实现这一点,如果任何人有想法帮助我
在连接事件上从应用程序发送一些数据到设备并从设备到应用程序获取验证数据,更改应用程序发送一些数据到设备和设备验证并给出确认的一些编程机制,并基于您保持连接,否则您可以断开连接设备。我已经实现了这些并完美地工作
public boolean connectDeviceBonded(String address, String name) {
if (address == null) {
throw new NullPointerException("Address cannot be null or not found");
}
macAddress = address;
boolean value = bluetoothLe.connectScannerBonded(address);
if ( value) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
int ret = reqEncryptedKey(10000);
if (ret != SUCCESS){
return false;
}
}
return value;
}
reqEncryptedKey()向设备发送一些加密数据,设备具有相同的加密算法和设备验证我的数据,并根据成功和失败应用程序的成功和失败响应应用程序可以保持连接和断开连接。我还在设备中放了一些代码,这样如果设备发出故障,设备会自动断开连接。