android BluetoothAdapter蓝牙BLE扫描总结
2017-02-20 14:37
351 查看
做室内定位的程序员应该都知道,在Android 5.0之后,google推出了蓝牙扫描新接口,我们在实测中发现出一些问题,现在给大家列出,以供参考:
1.android 4.3.1(Build.VERSION_CODES.JELLY_BEAN_MR2)增加的startLeScan(callback)方法,官方在5.0之后不建议使用,实测此方法,4.3至目前6.0版本还是很稳定的,毫秒级无限返回蓝牙数据,很稳定,就是很耗电;
2.android5.0(Build.VERSION_CODES.LOLLIPOP)谷歌建议使用BluetoothAdapter.getBluetoothLeScanner().startScan(mScanCallback),实测效果不尽人意,大哥总是带头让人测试api,好歹自己测测嘛,这个接口很不稳定,前几十秒扫描非常稳定,快速返回很多个BLE装置后(大概持续1-2分钟),然后蓝牙自动静默,回调方法无任何数据返回,我们几百台BLE设备实测。
①:另外实测中大部分市面上的android4.3系统之上的手机,小米低配系列和华为低配系列会出现扫描几分钟甚至几十秒之后,手机蓝牙底层崩溃,logcat报出底层蓝牙模块报错,只能重启才有效,不过最近MIUI6之后,发现例红米1s蓝牙扫描可以无限支持蓝牙扫描接口,说明是系统ROM的问题;
②:三星系列手机,note是最差的,接收到BLE蓝牙信号很不稳定,可能出现较远出的BLE装置信号突然很高的情况;S4,S5扫描正常。
③:魅族蓝牙是最差的,两款魅族手机,我不清楚型号了,应该是中配版的,实测扫描开启几秒后,logcat报出底层蓝牙崩溃,无法返回任何信息。
④:接口反馈最正常的肯定是Google android实验室榜样机Nexus系列,也仅限于1中老接口
最后建议大家:API有风险,修改需谨慎,哪怕是我Google大帝,也有偷懒的时候
1.android 4.3.1(Build.VERSION_CODES.JELLY_BEAN_MR2)增加的startLeScan(callback)方法,官方在5.0之后不建议使用,实测此方法,4.3至目前6.0版本还是很稳定的,毫秒级无限返回蓝牙数据,很稳定,就是很耗电;
2.android5.0(Build.VERSION_CODES.LOLLIPOP)谷歌建议使用BluetoothAdapter.getBluetoothLeScanner().startScan(mScanCallback),实测效果不尽人意,大哥总是带头让人测试api,好歹自己测测嘛,这个接口很不稳定,前几十秒扫描非常稳定,快速返回很多个BLE装置后(大概持续1-2分钟),然后蓝牙自动静默,回调方法无任何数据返回,我们几百台BLE设备实测。
①:另外实测中大部分市面上的android4.3系统之上的手机,小米低配系列和华为低配系列会出现扫描几分钟甚至几十秒之后,手机蓝牙底层崩溃,logcat报出底层蓝牙模块报错,只能重启才有效,不过最近MIUI6之后,发现例红米1s蓝牙扫描可以无限支持蓝牙扫描接口,说明是系统ROM的问题;
②:三星系列手机,note是最差的,接收到BLE蓝牙信号很不稳定,可能出现较远出的BLE装置信号突然很高的情况;S4,S5扫描正常。
③:魅族蓝牙是最差的,两款魅族手机,我不清楚型号了,应该是中配版的,实测扫描开启几秒后,logcat报出底层蓝牙崩溃,无法返回任何信息。
④:接口反馈最正常的肯定是Google android实验室榜样机Nexus系列,也仅限于1中老接口
最后建议大家:API有风险,修改需谨慎,哪怕是我Google大帝,也有偷懒的时候
相关文章推荐
- Android 6.0 BluetoothAdapter.startDiscovery()扫描不到蓝牙的问题分析及解决
- android 蓝牙BLE扫描和wifi扫描总结
- Android BLE 蓝牙学习总结(二):手机作为中央BluetoothGatt的实现
- Android 低功耗蓝牙(BLE)开发(2)-- BluetoothAdapter详解
- Android BLE 蓝牙学习总结(一):手机作为周边BluetoothGattServer的实现
- Android蓝牙BLE低功耗相关简单总结
- Android开发之蓝牙(Bluetooth)操作(二)--修改本机蓝牙设备的可见性,并扫描周围可用的蓝牙设备(转)
- Android中BluetoothAdapter.startDiscovery方法搜索蓝牙设备不起作用的解决办法
- Android BLE 蓝牙低功耗教程,中央BluetoothGatt和周边BluetoothGattServer的实现
- Android蓝牙BLE低功耗相关简单总结
- Android Bluetooth蓝牙开发\蓝牙协议\蓝牙通信例子_Android支持蓝牙4.0版本_BLE开发
- Android蓝牙API之BluetoothAdapter类(2)
- Android BLE 蓝牙低功耗教程,中央BluetoothGatt和周边BluetoothGattServer的实现
- Android开发之蓝牙(Bluetooth)操作(一)--扫描已经配对的蓝牙设备
- android 4.2 bluetooth OPP 蓝牙启动,扫描,使能
- Android BLE与终端通信(二)——Android Bluetooth基础搜索蓝牙设备显示列表
- Android开发之蓝牙(Bluetooth)操作(一)--扫描已经配对的蓝牙设备
- android BluetoothAdapter无法搜索到蓝牙问题
- Android BLE 蓝牙低功耗教程,中央BluetoothGatt和周边BluetoothGattServer的实现
- Android 6.0 Kotlin 蓝牙BLE扫描(改为指定时间没有发现新设备后停止扫描使用interface)