采集的小蜜蜂 发表于 2021-3-25 09:44

【Android】蓝牙连接后偶尔或间接性发现不了服务

本帖最后由 采集的小蜜蜂 于 2021-3-25 18:03 编辑

onConnectStatechange方法中
检测到state连接成功后,如果想要往设备发送数据,需要使用gatt.discoverService()方法先获取服务,然后进入回调函数
@Override
public void onServicesDiscovered(BluetoothGatt gatt, int status) {
    super.onServicesDiscovered(gatt, status);
}
但是有时设备执行这个方法后,通过底层的debug发现返回的真假值是 true,但是就是不进入onServiceDiscoverd这个回调函数。
想问问该怎么解决

采集的小蜜蜂 发表于 2021-3-25 18:03

找到原因了,是因为在onConectStatechanged连接失败进入133错误代码的判断之后,我直接重新连接的设备,没有清空蓝牙缓存导致

15633738398 发表于 2021-3-25 11:41

我也遇到过这个问题蓝牙耳机尤甚

tritan 发表于 2021-3-25 13:44

最简单 要么换手机,要么换耳机{:301_1005:}

Cool_Breeze 发表于 2021-3-25 18:40

楼主做硬件开发的吗?

bwuaich 发表于 2021-4-6 11:13

楼主是做bluetooth development ??? 是用什么Tool??

采集的小蜜蜂 发表于 2021-4-6 14:11

bwuaich 发表于 2021-4-6 11:13
楼主是做bluetooth development ??? 是用什么Tool??

不是,我主要是做物联网,APP和蓝牙设备连接的,我写软件,用AndroidStudio,同事写硬件。

bwuaich 发表于 2021-4-6 18:20

采集的小蜜蜂 发表于 2021-4-6 14:11
不是,我主要是做物联网,APP和蓝牙设备连接的,我写软件,用AndroidStudio,同事写硬件。

噢; 明白; 你也很棒啊; 物联网未来很好啊; 不错; 写硬件的话; 是涉及到底层嵌入吗? 要用C?? C#??

采集的小蜜蜂 发表于 2021-4-8 10:42

bwuaich 发表于 2021-4-6 18:20
噢; 明白; 你也很棒啊; 物联网未来很好啊; 不错; 写硬件的话; 是涉及到底层嵌入吗? 要用C?? C#??

同事们用C写的
页: [1]
查看完整版本: 【Android】蓝牙连接后偶尔或间接性发现不了服务