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

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

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

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

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

解决办法:

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

即调用顺序为

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

device.connectGatt    //连接

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

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

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

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

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

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容