查看: 399|回复: 0

app扫描的兼容性问题

[复制链接]
匿名  发表于 2020-7-20 16:01:17 |阅读模式
一、为什么扫描不到设备
      1. 检查蓝牙是否打开
       2.Android5.0以后蓝牙扫描需要开启位置信息同时需要使用“ACCESS_COARSE_LOCATION”或者“ACCESS_FINE_LOCATION”权限
       3.Android 6.0以后使用位置信息权限需要动态申请“ACCESS_COARSE_LOCATION”或者“ACCESS_FINE_LOCATION”权限
       4.Android 7.0以后系统为了省电,限制蓝牙扫描过于频繁,30s内不能超过6次,否则导致无法发现设备

      详情可查看:https://blog.classycode.com/undocumented-android-7-ble-behavior-changes-d1a9bd87d983
二、发现设备慢
          低功耗蓝牙扫描有4种模式
      1.SCAN_MODE_OPPORTUNISTIC
         如果发现同时刻存在别的扫描流程,获取其扫描结果并输出
       2.SCAN_MODE_LOW_POWER
         以较低功耗进行扫描,扫描0.5s 等待4.5s
       3. SCAN_MODE_BALANCED
         扫描2秒等待3秒
       4.SCAN_MODE_LOW_LATENCY
         以最高效率扫描,比较耗电,一般用于可视界面

         请使用SCAN_MODE_LOW_LATENCY模式进行扫描,因为设备向外发送广播是存在间隔一段时间发送一次的,如果是要求严格的低功耗设备发包间隔会很长,
         发现设备缓慢,具体受app扫描间隔、设备发包间隔、信号干扰、以及手机或者模块天线性能影响。





回复

使用道具

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

快速回复 返回顶部 返回列表