title: onCharacteristicChanged is not called after writing on ble
body: <p>I need some response data from Ble. When I am writing something on ble I need to read response data from Ble. I am able to successfully enable and disable my ble device but only missing response data from ble. I also need to convert decimal time into Integer hex format like for 60 min into 0x3c.</p>
  
  <pre><code>private BluetoothGattCallback gattCallback= new BluetoothGattCallback() {
  
          @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR2)
          @Override
          public void onServicesDiscovered(BluetoothGatt gatt, int status) {
              super.onServicesDiscovered(gatt,status);
              clientGatt =gatt;
              if (status == BluetoothGatt.GATT_SUCCESS) {
                  BluetoothGattService service = gatt.getServices().get(2);
                  List&lt;BluetoothGattCharacteristic&gt; gattCharacteristics = service.getCharacteristics();
                  for (BluetoothGattCharacteristic gattCharacteristic : gattCharacteristics) {
  
                      if (gattCharacteristic.getUuid().toString().equalsIgnoreCase(AppConstant.RECEIVE_UUID)) {
                          readCharacteristic=gattCharacteristic;
                      }
                      if (gattCharacteristic.getUuid().toString().equalsIgnoreCase(AppConstant.SEND_UUID_STR)) {
                          writeCharacteristic = gattCharacteristic;
                      }
                  }
              }
  
          }
          @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR2)
          @Override
          public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
              super.onCharacteristicRead(gatt,characteristic,status);
              LogUtils.errorLog("onCharacteristicRead", "@@: "+characteristic.getValue()[0]);
  
          }
          @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR2)
          @Override
          public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
              super.onCharacteristicChanged(gatt, characteristic)
  
          }
  
          @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR2)
          @Override
          public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
              super.onCharacteristicWrite(gatt, characteristic, status);
  
              setCharacteristicNotification(characteristic,true);
          }
  
          @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
          @Override
          public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
              super.onConnectionStateChange(gatt, status, newState);
  
              clientGatt = gatt;
  
              switch (newState) {
                  case BluetoothProfile.STATE_CONNECTED:
                      isBLE_Connected=true;
                      gatt.discoverServices();
  
                      break;
                  case BluetoothProfile.STATE_DISCONNECTED:
                      isBLE_Connected=false;
                      if(status==133 || status==22 || status==62){
                          refreshDeviceCache();
                          clientGatt.discoverServices();
                      }else{
                          clientGatt.disconnect();
                          clientGatt.close();
                      }
                      break;
              }
  
          }
      };
  </code></pre>