android ble蓝牙接收不到数据_Android BLE蓝牙扫描不到数据及解决方法
在低功耗蓝牙(BLE)开发过程中碰到过不少坑,作为记录总结一下在开发过程中关于开启扫描遇到的问题。
开发低功耗蓝牙过程中因为Android系统的不断升级和优化,关于BLE的开发也会在升级过程中遇到不同的问题。关于开启扫描问题总结如:
在开发过程中关闭扫描后再开启扫描不成功问题
在开发过程中不可避免的会遇到关闭扫描开启扫描如此重复操作的问题,但在某些时候会出现关闭后无法再开启扫描的问题。
E/BtGatt.GattService: App 'com.bluetooth.app' is scanning too frequently
这时问题就是你开启扫描功能太频繁了,导致系统吃不消导致的,遇到这种情况你需要在关闭扫描之后至少停止2秒钟,然后再次调用开启扫描方法,开启成功。
在Android 6.0及以上版本中开启蓝牙扫描后扫描不到数据问题
在Android 6.0之前的版本中能够完美运行,但换到Android 6.0 及以上系统的手机运行时搜索不到数据。
这是因为在Android 6.0及以上系统中低功耗蓝牙添加了距离检测功能,所以扫描时需要开启定位功能权限,在更高版本中甚至需要开启精准定位权限
在代码中也需要申请动态权限
//清单文件里面也需要配置
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
checkSelfPermission(Manifest.permission.ACCES
android ble蓝牙接收不到数据_Android BLE蓝牙扫描不到数据及解决方法相关推荐
- android 前台服务自定义布局不显示_Android自定义LinearLayout布局显示不完整的解决方法...
发现问题 原需求,在一个伸缩列表中,自定义LinearLayout继承LinearLayout动态添加布局. 然而实现的时候:一共遍历了30条数据,却只显示了一条 断点查看代码:遍历addView() ...
- Android 8.0接收通知后会手机崩溃,闪屏,恢复出厂设置的解决方法
最近用极光推送,发现有新的SDK,就试试用.我的手机是Nexus 6P,原生8.0,结果一更新,手机就不断闪屏,系统崩溃,说要恢复出厂设置了 幸亏重启前截停了.然后求助极光推送,可得到的答复不是SDK ...
- node后台fetch请求数据-Hostname/IP doesn‘t match certificate‘s altnames解决方法
node后台fetch请求数据-Hostname/IP doesn't match certificate's altnames解决方法 参考文章: (1)node后台fetch请求数据-Hostna ...
- myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法)
myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法) 参考文章: (1)myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法) (2)https://www. ...
- android 百度地图闪退,Android使用百度地图出现闪退及定位时显示蓝屏问题的解决方法...
使用百度地图出现闪退 一般情况下出现闪退是在AndroidManifest.xml文件中未在application标签中配置 android:name="com.baidu.lbsapi.A ...
- DB2添加数据时主键、唯一键冲突的解决方法
DB2添加数据时主键.唯一键冲突的解决方法 参考文章: (1)DB2添加数据时主键.唯一键冲突的解决方法 (2)https://www.cnblogs.com/equation/articles/91 ...
- RXTXcomm.jar 读取串口数据时报 Underlying input stream returned zero bytes 异常解决方法
RXTXcomm.jar 读取串口数据时报 Underlying input stream returned zero bytes 异常解决方法 一.示例程序 1.依赖 2.示例代码 3.测试读取文件 ...
- Android调用系统群发短信,vivo部分手机弹出“无效的地址”解决方法
Android调用系统群发短信,vivo部分手机弹出"无效的地址"解决方法 第一次写文章,来试试水 之前项目中有一个需求是获取通讯录联系人信息,并展示出来,然后可以选择一个或者多个 ...
- [C#]datagridView实现的数据联动时selectionChanged事件发生多次的解决方法
Q:对于两个datagridView实现的数据联动,主datagridView绑定数据时selectionChanged事件发生多次,什么原因,如何避免? A:selectionChanged事件MS ...
- android ble蓝牙接收不到数据_Android BLE蓝牙开发-读写数据 获取UUID
最近在做一个蓝牙智能锁的项目,需要在Android APP 上使用 Ble低功耗蓝牙 和单片机蓝牙设备进行通信,网上关于搜索 连接 读写数据的资料太多了,我在最后放了一个Demo,完整实现搜索 连 ...
最新文章
- linux文件系统的链接,用户指南:Linux文件系统的链接
- 计算机对下列几种存储器访问速度,2005年7月自考02275计算机基础与程序设计真题及答案...
- QT中关于ipv6和getaddressinfo的开关
- java徐仕锋_传智播客云计算开发 Hadopp视频教程 传智播客之javaEE + Hadoop...
- 快看Sample代码,速学Swift语言(3)-运算符
- android 系统gpu 调试_【资讯】高通公布首批可OTA更新GPU驱动手机:谷歌Pixel 4/三星S10在列...
- hot编码 字符one_One Hot编码是什么?为什么要用它,什么时候用它?
- BOMTool更新到1.3.0.8
- 谷歌新旗舰Pixel 3让AI帮你接电话:你是谁?为什么来电?
- oracle的group by语句注意
- Hadoop Hive基础sql语法
- Activemq 使用ssl说明
- autofs rhel7
- oracle not like优化,oracle的like优化,对比了一下,效果确实比like好些。
- java贪吃蛇程序v1
- logistic回归 如何_Logistic回归分析之二元Logistic回归
- 商务出行-国外各大机场一览
- u盘安装红旗linux操作系统,如何用u盘安装红旗linux?
- python的encode()和decode()的用法及实例
- DS5000神奇的FDE全磁盘加密技术