美文网首页蓝牙开发问题
android 蓝牙开发遇到的问题,连接不上蓝牙。

android 蓝牙开发遇到的问题,连接不上蓝牙。

作者: 雨后天_ | 来源:发表于2023-07-05 16:17 被阅读0次

android 蓝牙开发遇到的问题,部分手机出现第一次连接蓝牙正常,但第二次开始就连接不上蓝牙。

首先要知道蓝牙有两种类型,一种是经典蓝牙模块,一般是用于传输数据量大,比较复杂数据的;另一种则是低功耗蓝牙(BLE),一般用于简单,快速传输数据。多用了手表,耳机,键盘等设备。

开发时遇到部分手机连接不上蓝牙,或者说连接上一次后断开就连不上或连接很慢。

很有可能是经典蓝牙模块,要配对,你可以用手机自带(进设置去边)的蓝牙去连接,会弹出配对提示框。

解决办法:

1、在调用连接方法connectGatt时,应确保设备未在进行搜索状态。 如果正在进行搜索操作,则会大幅降低连接尝试的速度,并增加连接失败的可能性。所以在调用连接时先调用暂停搜索stopLeScan。

即调用顺序为

 mBluetoothAdapter.stopLeScan(leCallBack)    //停止搜索

device.connectGatt    //连接

如果先调用connectGatt,后调用stopLeScan。则会出现第一次能连上,第二次开始就连接不上或连接慢。

2,然后可以在部分地方做延迟处理。在扫描时startLeScan,在连接时connect,等地方做延迟,这样做的原因可能由于部分手机释放资源比较慢。

3,断开连接后需要调用mBluetoothGatt的close()方法。并把mBluetoothGatt = null设置为空。

4,尽量在正在连接蓝牙的时侯不要做其他操作。可以加个蒙板呀什么的。

参考文章:Android ble蓝牙开发介绍以及遇到的坑

相关文章

网友评论

    本文标题:android 蓝牙开发遇到的问题,连接不上蓝牙。

    本文链接:https://www.haomeiwen.com/subject/xtukudtx.html