android ble connectGatt超时

时间:2019-04-05 06:34:20

标签: android bluetooth-lowenergy connect

为节省嵌入式设备的电池电量,广告时间为10秒。 使用Samsung平板电脑,我以30秒的扫描周期超时成功扫描了设备。 当我尝试连接到它时,几乎每次连接都失败(错误133)。有时还可以。我已经寻找了一些帖子,所以我尝试使用TRANSPORT_LE选项进行连接。 我怀疑连接过程中发生超时,因为它仅在2或3秒后停止。

如何为connectGatt()过程指定更长的超时时间?

最好的问候, 米奇

1 个答案:

答案 0 :(得分:0)

以下是我针对状态为133的一些方法。

我将此代码添加到回调中

onConnectionStateChange
else if ((status == 8 && newState == 0) || (status == 133 && newState == 0)) { 
                gatt.disconnect();
                gatt.close();
                gatt.getDevice().connectGatt(getApplicationContext(), false, mGattCallback);
            }

我只是断开连接并使用gatt.close()释放所有蓝牙资源。 然后再次重新连接。