title: Bluetooth Low Energy Service Discovery with Android 4.3 on Nexus 4
body: <p>I'm trying to use a BLE module (bluegiga BLE112) with my nexus 4 (android 4.3).  I can connect, get the name of the device, connect to GATT, but service discovery fails.</p>
  
  <p>Here's how do the initial gatt connection (which seems to work successfully:</p>
  
  <pre><code>dev.connectGatt(getBaseContext(), true, btGattCB);
  </code></pre>
  
  <p>Here's the GATT callback:</p>
  
  <pre><code>private BluetoothGattCallback btGattCB = new BluetoothGattCallback() {
      @Override
      public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
          super.onConnectionStateChange(gatt, status, newState);
          if(newState == BluetoothProfile.STATE_CONNECTED){
              Log.i(TAG, "Gatt Connected");
              gatt.discoverServices();
          }
          else if(newState == BluetoothProfile.STATE_DISCONNECTED){
              Log.i(TAG, "Gatt Disconnected");
          }
      }
  
      @Override
      public void onServicesDiscovered(BluetoothGatt gatt, int status){
          Log.i(TAG,"Status onServiceDiscovered: "+status);   //status code i'm getting here is 129
          List&lt;BluetoothGattService&gt; btServices = gatt.getServices();//try anyway
      }
  };
  </code></pre>
  
  <p>And Here's my Log: </p>
  
  <pre><code>09-28 12:58:37.611    4118-4130/com.jnewt.btFive I/PDU? Scan Callback
  09-28 12:58:37.611    4118-4130/com.jnewt.btFive I/PDU? Device is: 00:07:80:67:2F:63
  09-28 12:58:37.611    4118-4130/com.jnewt.btFive I/PDU? Device Name: BGT GPIO Test
  09-28 12:58:43.607    4118-4118/com.jnewt.btFive I/PDU? Scan Timeout
  09-28 12:59:13.539    4118-4129/com.jnewt.btFive I/PDU? Gatt Connected
  09-28 12:59:43.561    4118-4190/com.jnewt.btFive I/PDU? Service Discovery Failed
  09-28 12:59:43.581    4118-4130/com.jnewt.btFive I/PDU? Gatt Disconnected
  09-28 13:00:00.920    4118-4129/com.jnewt.btFive I/PDU? Gatt Connected
  09-28 13:00:30.902    4118-4130/com.jnewt.btFive I/PDU? Service Discovery Failed
  09-28 13:00:30.922    4118-4190/com.jnewt.btFive I/PDU? Gatt Disconnected
  09-28 13:01:20.265    4118-4129/com.jnewt.btFive I/PDU? Gatt Connected
  09-28 13:01:50.277    4118-4190/com.jnewt.btFive I/PDU? Service Discovery Failed
  09-28 13:01:50.297    4118-4130/com.jnewt.btFive I/PDU? Gatt Disconnected
  09-28 13:01:56.113    4118-4129/com.jnewt.btFive I/PDU? Gatt Connected
  09-28 13:02:26.115    4118-4190/com.jnewt.btFive I/PDU? Service Discovery Failed
  09-28 13:02:26.125    4118-4130/com.jnewt.btFive I/PDU? Gatt Disconnected
  </code></pre>
  
  <p>From the <a href="https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html">https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html</a> page, I don't see 129 mentioned as a possible status (none of the constants match 129).  </p>
  
  <p>I'm all out of ideas at this point.  I have isolated the issue to the android phone by testing with an similar example for iphone.  I've also tried several of the apps available at the play store, and they have a similar issue (can connect, get name, etc, but no services).  </p>