title: onCharacteristicRead returns status 137
body: <p>learning about BLE connection to device. </p>
  
  <p>What I do is, I call </p>
  
  <pre><code>mBluetoothLeService.readCharacteristic(characteristic);
  </code></pre>
  
  <p>and then it triggers <code>onCharacteristicRead</code> which returns <code>137</code>. 
  As I understand that's a auth error, which means I've to provide PIN. I tried to do that using <code>createBond()</code> which triggered my broadcast receiver - there I did </p>
  
  <pre><code>try {
      a = (byte[]) BluetoothDevice.class.getMethod("convertPinToBytes", String.class).invoke(BluetoothDevice.class, pin);
  } catch (IllegalAccessException e) {
       e.printStackTrace();
  } catch (InvocationTargetException e) {
       e.printStackTrace();
  } catch (NoSuchMethodException e) {
       e.printStackTrace();
  }
  
  boolean succ = device.setPin(a);
  </code></pre>
  
  <p>So <code>setPin()</code> returns false and I'm not sure what is causing this, because I know pin is correct (string atleast. Maybe convertPinToBytes fails?).</p>