Я создаю приложение BLE для Android. Приложение будет подавать сигнал тревоги, когда кнопка устройства BLE нажата или опущена (обнаружение падения). Все работало до тех пор, пока я не добавил обнаружение падения вместе с нажатием кнопки. Теперь проблема возникает, когда приложениезапускается, если я нажму кнопку, я получу alrm. После этого он не будет работать для обнаружения падения. Снова, если я уронил кнопку при запуске приложения, то я получу сигнал тревоги, после этого нет сигнала тревоги для нажатия кнопки.
Вот мои onServicesDiscovered в BluetoothLEservice.java
public void onServicesDiscovered(BluetoothGatt gatt, int status) {
if (status == BluetoothGatt.GATT_SUCCESS) {
// broadcastUpdate(ACTION_GATT_CONNECTED, deviceAddress, status);
// Do APP verification as soon as service discovered.
try {
appVerification(gatt, getGattChar(gatt, Constants.SIMPLE_SERVICE,Constants.CHAR_APP_VERIFICATION),Constants.NEW_APP_VERIFICATION_VALUE);
} catch (Exception e)
{
// Log.e(,"exception with app verify:" + e.getMessage());
}
for (BluetoothGattService service : gatt.getServices()) {
if ((service == null) || (service.getUuid() == null)) {
continue;
}
if (Constants.SIMPLE_SERVICE.equals(service.getUuid())) {
//
// Write Emergency key press
enableForDetect(gatt,service.getCharacteristic(Constants.CHAR_DETECTION_CONFIG),Constants.ENABLE_KEY_LONGPRESS_DETECTION_VALUE);
// Set notification for emergency key press and fall detection
setCharacteristicNotification(gatt,service.getCharacteristic(Constants.CHAR_DETECTION_NOTIFY),true);
}
else if (Constants.SIMPLE_SERVICE.equals(service.getUuid())){
if (db.getValue(Common.FALL_DETECTION).equals(Common.TRUE)){
enableForDetect(gatt,service.getCharacteristic(Constants.CHAR_DETECTION_CONFIG),Constants.ENABLE_FALL_KEY_DETECTION_VALUE);
setCharacteristicNotification(gatt,service.getCharacteristic(Constants.CHAR_DETECTION_NOTIFY),true);
}
}
В моем onCharacteristicChanged я перенаправлю два из этих событий в свою активность оповещения в соответствии со значением ключа.Любая помощь оценена. Пожалуйста, спросите, нужно ли дальнейшее объяснение.