diff --git a/src/android/BluetoothLePlugin.java b/src/android/BluetoothLePlugin.java index f1e838cd..c585e331 100644 --- a/src/android/BluetoothLePlugin.java +++ b/src/android/BluetoothLePlugin.java @@ -1768,6 +1768,15 @@ private boolean subscribeAction(JSONArray args, CallbackContext callbackContext) return false; } + result = bluetoothGatt.setCharacteristicNotification(characteristic, true); + + if (!result) { + addProperty(returnObj, keyError, errorSubscription); + addProperty(returnObj, keyMessage, logSubscribeFail); + callbackContext.error(returnObj); + return false; + } + AddCallback(characteristicUuid, connection, operationSubscribe, callbackContext); //Write the descriptor value @@ -1856,6 +1865,15 @@ private boolean unsubscribeAction(JSONArray args, CallbackContext callbackContex return false; } + result = bluetoothGatt.setCharacteristicNotification(characteristic, false); + + if (!result) { + addProperty(returnObj, keyError, errorSubscription); + addProperty(returnObj, keyMessage, logSubscribeFail); + callbackContext.error(returnObj); + return false; + } + AddCallback(characteristicUuid, connection, operationUnsubscribe, callbackContext); //Write the actual descriptor value