2

当我尝试打开通知后连接ble,但经常返回BleGattException status = 133,有时它有时不会。

这是我的代码:

    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 返回 BleGattException 状态 = 133

这是我评论后面的打印日志//:</p>

   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.建立连接(假)

   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   

连接状态 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() 

连接失败 gatt 已关闭

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

继续尝试连接:

   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

再次连接失败!有解决办法吗?不知道为什么连接状态是133,gatt已经关闭了!现在这种状态经常出现,帮帮我谢谢。

BleGattException 状态返回 133

4

1 回答 1

0

请使用 nRF 连接应用程序测试您的设备:https ://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp

如果该应用程序可以连接到您的设备,我认为是 rxble lib 的问题。

于 2017-08-29T07:29:24.593 回答