Bluetooth Low Energy Service de Découverte avec Android 4.3 sur le Nexus 4

Je suis en train d'utiliser un BLE module (bluegiga BLE112) avec mon nexus 4 (android 4.3). Je peux me connecter, obtenir le nom de l'appareil, branchez le GATT, mais la découverte de services échoue.

Voici comment faire les premiers gatt de connexion (qui semble fonctionner correctement:

dev.connectGatt(getBaseContext(), true, btGattCB);

Voici le GATT de rappel:

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<BluetoothGattService> btServices = gatt.getServices();//try anyway
    }
};

Et Voici mon Log:

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

De la https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html page, je ne vois pas de 129 mentionné comme un possible état (aucun des constantes match 129).

Je suis tout à fait d'idées à ce point. J'ai isolé le problème sur le téléphone android en testant avec un exemple similaire pour l'iphone. J'ai aussi essayé plusieurs applications disponibles sur le play store, et qu'ils ont un problème similaire (pouvez vous connecter, obtenir le nom, etc, mais pas de services).

Qu'est-ce que le dispositif à distance?
bluegiga.com/en-US/products/bluetooth-4.0-modules/...
android.googlesource.com/platform/external/bluetooth/bluedroid/... le Statut 129 (0x81) est GATT_ERROR, mais je suis sûr que cette information ne va pas vous aider.
En fait, une indication de ce que cela signifie, c'est bien plus que ce que j'avais hier. Je ne suis pas sûr de ce que la solution n'est pas encore, mais au moins je sais d'où ça vient.
il est très feuilletée. Essayez Bluetooth sur la alors premier. Essayez d'après une nouvelle de démarrage. Une fois que vous l'obtenez dans un état juste dose pas de récupérer parfois sans ces.

OriginalL'auteur jnewt | 2013-09-28