при соединении отправляет некоторые данные из приложения на устройство и получает проверенные данные с устройства на приложение, изменяет некоторый запрограммированный механизм, который приложение отправляет некоторые данные на устройство и устройство проверяет и выдает подтверждение и на основании того, что вы сохраняете соединения, или же выможно отключить от устройства.Я реализовал это и работал отлично
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 () отправляет некоторые зашифрованные данные на устройство, и устройство имеет тот же алгоритм шифрования, и устройство проверяет мои данные и дает ответ приложению об успехе и неудаче, в зависимости от успехаи провал приложение может сохранить соединение и отключиться.и я также вставил некоторый кусок кода в устройство, чтобы в случае сбоя устройства устройство автоматически отключалось.