FastBleLib/src/main/java/com/clj/fastble/conn/BleConnector.java
@@ -130,6 +130,8 @@
                && (getCharacteristic().getProperties() | BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0) {
            BleLog.w(TAG, "characteristic.getProperties():" + getCharacteristic().getProperties());
            System.out.println("chenqi enableCharacteristicNotify =>" + uuid_notify);
            handleCharacteristicNotificationCallback(bleCallback, uuid_notify);
            return setCharacteristicNotification(getBluetoothGatt(), getCharacteristic(), true, bleCallback);
@@ -342,18 +344,8 @@
                                                          final String uuid_notify) {
        if (bleCallback != null) {
//            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//                bluetoothGatt.requestMtu(10);
//            }
            listenAndTimer(bleCallback, MSG_NOTIFY_CHA, uuid_notify, new BluetoothGattCallback() {
                AtomicBoolean msgRemoved = new AtomicBoolean(false);
                @Override
                public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
                    super.onConnectionStateChange(gatt, status, newState);
                }
                @Override
                public void onCharacteristicChanged(BluetoothGatt gatt,
                                                    BluetoothGattCharacteristic characteristic) {
@@ -361,10 +353,9 @@
                        handler.removeMessages(MSG_NOTIFY_CHA, this);
                    }
                    System.out.println("chenqi Notify Hex ->" + BleBluetooth.dumpHex(characteristic.getValue()));
                    if (characteristic.getUuid().equals(UUID.fromString(uuid_notify))) {
                        System.out.println("chenqi Notify ->" + characteristic.getValue().length);
                        System.out.println("chenqi Notify Hex ->" + BleBluetooth.dumpHex(characteristic.getValue()));
                        bleCallback.onSuccess(characteristic);
                    }
                }
@@ -387,6 +378,7 @@
                @Override
                public void onCharacteristicChanged(BluetoothGatt gatt,
                                                    BluetoothGattCharacteristic characteristic) {
                    System.out.println("chenqi Notify Hex indicate->" + BleBluetooth.dumpHex(characteristic.getValue()));
                    if (!msgRemoved.getAndSet(true)) {
                        handler.removeMessages(MSG_INDICATE_DES, this);
                    }
@@ -410,6 +402,8 @@
                public void onCharacteristicWrite(BluetoothGatt gatt,
                                                  BluetoothGattCharacteristic characteristic, int status) {
                    handler.removeMessages(MSG_WRITE_CHA, this);
                    System.out.println("chenqi Notify Hex write->" + BleBluetooth.dumpHex(characteristic.getValue()));
                    if (status == BluetoothGatt.GATT_SUCCESS) {
                        if (characteristic.getUuid().equals(UUID.fromString(uuid_write))) {
@@ -435,6 +429,8 @@
                @Override
                public void onCharacteristicRead(BluetoothGatt gatt,
                                                 BluetoothGattCharacteristic characteristic, int status) {
                    System.out.println("chenqi Notify Hex indicate read->" + BleBluetooth.dumpHex(characteristic.getValue()));
                    if (!msgRemoved.getAndSet(true)) {
                        handler.removeMessages(MSG_READ_CHA, this);
                    }
@@ -460,6 +456,8 @@
                @Override
                public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) {
                    handler.removeMessages(MSG_READ_RSSI, this);
                    System.out.println("chenqi Notify Hex rssi->" + BleBluetooth.dumpHex(characteristic.getValue()));
                    if (status == BluetoothGatt.GATT_SUCCESS) {
                        bleCallback.onSuccess(rssi);
                    } else {
@@ -487,7 +485,6 @@
    private void listenAndTimer(BleCallback bleCallback, int what, String uuid, BluetoothGattCallback callback) {
        bleCallback.setBluetoothGattCallback(callback);
        bleBluetooth.addGattCallback(uuid, callback);
        Message msg = handler.obtainMessage(what, bleCallback);
        handler.sendMessageDelayed(msg, timeOutMillis);
    }