2017-08-24 2 views
1

Lorsque je me connecte après que j'aie essayé d'ouvrir la notification, mais retourne souvent l'état BleGattException = 133, parfois ce n'est pas toujours le cas.BleGattException Retour d'état 133 (onClientConnectionState() - status = 133)

ceci est mon code:

mConnectingDevice.establishConnection(false) 
    .doOnNext(this::storeConnect) 
    .flatMap(rxBleConnection -> rxBleConnection.setupNotification(notifyUuid)) 
    .observeOn(AndroidSchedulers.mainThread()) 
    .flatMap(notificationObservable -> notificationObservable) 
    .observeOn(AndroidSchedulers.mainThread()) 
    .subscribe(this::onNotify, this::connectFail); 

connectFail retour état BleGattException = 133

Ceci est le journal d'impression // derrière mes commentaires:

08-22 14:12:00.777 31399-31399/com.evan.yeeuusample D/BluetoothAdapter:  STATE_ON 
    08-22 14:12:00.781 31399-31399/com.evan.yeeuusample D/BluetoothGatt: connect() - device: F0:65:A0:1A:20:16, auto: false 

mConnectingDevice.establishConnection (false)

08-22 14:12:00.781 31399-31399/com.evan.yeeuusample D/BluetoothGatt: registerApp() 
    08-22 14:12:00.782 31399-31399/com.evan.yeeuusample D/BluetoothGatt: registerApp() - UUID=58cec16e-bb91-4603-bd28-11da0e5e17c0 
    08-22 14:12:00.785 31399-31410/com.evan.yeeuusample D/BluetoothGatt: onClientRegistered() - status=0 clientIf=5 

    08-22 14:12:02.965 31399-31410/com.evan.yeeuusample D/BluetoothGatt: onClientConnectionState() - status=133 clientIf=5 
    device=F0:65:A0:1A:20:16 

connectstatus 133

08-22 14:12:02.969 31399-31399/com.evan.yeeuusample D/BluetoothManager: getConnectionState() 
    08-22 14:12:02.970 31399-31399/com.evan.yeeuusample D/BluetoothManager: getConnectedDevices 
    08-22 14:12:02.997 31399-31399/com.evan.yeeuusample D/BluetoothGatt: close() 

connexion ont échoué gatt est proche

08-22 14:12:02.997 31399-31399/com.evan.yeeuusample D/BluetoothGatt: unregisterApp() - mClientIf=5 

Continuer à essayer de se connecter:

08-22 14:17:35.278 31399-31399/com.evan.yeeuusample D/BluetoothGatt: connect() - device: F0:65:A0:1A:20:16, auto: false 
    08-22 14:17:35.278 31399-31399/com.evan.yeeuusample D/BluetoothGatt: registerApp() 
    08-22 14:17:35.278 31399-31399/com.evan.yeeuusample D/BluetoothGatt: registerApp() - UUID=b8fa445c-aab2-46d1-b2c2-e67bb475caf9 
    08-22 14:17:35.280 31399-31411/com.evan.yeeuusample D/BluetoothGatt: onClientRegistered() - status=0 clientIf=5 
    08-22 14:17:43.666 31399-31441/com.evan.yeeuusample D/BluetoothGatt: onClientConnectionState() - status=133 clientIf=5 device=F0:65:A0:1A:20:16 

Impossible de se connecter à nouveau! Existe-t-il une solution? je ne sais pas pourquoi le statut de connexion est 133, gatt a été fermé! Maintenant cet état arrive fréquemment, aidez-moi à vous remercier.

BleGattException status return 133

+0

Cela semble être un problème Android BLE Stack à un niveau inférieur. Avez-vous vérifié le journal snoop HCI? Quel téléphone utilisez-vous? Quel périphérique? –

+0

Module intelligent Module Bluetooth est nordique, j'ai utilisé Huawei et xiaomi sont un tel phénomène, je pratique maintenant dans la méthode doOnUububscribe() pour se reconnecter, le problème est certainement là @DariuszSeweryn –

Répondre

0

S'il vous plaît vous connecter en utilisant nRF application pour tester votre appareil: https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp

Si l'application peut être connecter à votre appareil, je pense que question de rxble lib.

+0

périphérique de connexion nRF est normal, et déconnectez-vous après la connexion n'apparaîtra pas 133, j'ai soumis le problème sur rxble, mais ils pensent que ce n'est pas question, à la fermée. –