[问题] 蓝芽扫描问题

楼主: gn00618777 (非常念旧)   2017-10-21 14:30:31
午安
假日比较有时间来看工作上比较不紧急的问题
我测试环境是偏僻的乡下,手边装置是 Sony Xperia X Compact,Android 7.0
自己写的APK,当开起我的APK扫描蓝芽时,因为在乡下,所以周遭只会出现
我手边的BLE装置。
ScanSettings 的 setScanMode 参数设 LOW LATENCY
当扫个五次,总会有两~三次永远扫不到。
测试的APK: 自己的APK、nRF Connect(nordic的) 一样如此。
在扫到装置的 callback 当中,塞进log,还真的没有到有装置扫到。
我又测试了系统 设定那边的蓝芽,点进去他总是可以扫到,不过是有看到他右上角
有一直在转动,不确定他是不是关掉扫描又开启扫描,这样才不会像我上面扫不到的问题
不知道有没有人注意到这问题呢?
我ScanSetting 参数 和 Filter 参数都试过了情况也一样。
最差的备案就是以后我就将扫到的,就直接绑定。让她永远出现在我的UI清单内
点下去直接连线,因为我这边的装置是可连接的,虽然广播有时看不到
但应该可以直接连线。
想知道前辈们的想法@@?
谢谢。
https://goo.gl/x2XRW5 这是 github code
我试的参数有
MATCH_MODE_AGGRESSIVE
MATCH_MODE_STICKY
SCAN_MODE_LOW_LATENCY
也改了每五秒扫,然后stopscan,再延迟一秒,再startScan
发现使用者体验更不好XD,我自动重新scan后,也是会常扫不到。
github分享的是,扫描很长的时间,会扫到就会马上列出来,但是当扫不到时就是
扫不到不会列出来 onScanResult()加上log也发现此callback完全没有扫到
,除非手动关掉,再开启重新扫描,也就是大概五次 会有两到三次
会扫不到
楼主: gn00618777 (非常念旧)   2017-10-21 14:48:00
看起来 google play 的 BLE Scanner apk也可以找到..
作者: roy870075 (Roy)   2017-10-21 14:52:00
永远 扫不到的话要确定装置没有被其他手机连走,如果用第三方app也找不到的话,建议用ios也试试看有没有扫到装置,如果都不是的话也有可能是装置有问题,不一定是app
楼主: gn00618777 (非常念旧)   2017-10-21 15:11:00
我确定APK扫不到,然后同支手机的BLE Scanner 可以扫我家满乡下的,也没人在使用BLE装置,这点可以排除..因为频率满固定的 总是有几次永远扫不到,应该没有人都刚好那时候把我的装置连走@@
作者: roy870075 (Roy)   2017-10-21 16:21:00
你有发起连线吗还是纯粹扫描他就会扫不到,另外永远扫不到时,你如何让他可以在此扫到?还有scansettings你是只改mode吗还是还有改其他参数也可以试试看用SCAN_MODE_BALANCED看有无变化如果还是不行建议可以把code分享出来比较方便大家帮你找问题
楼主: gn00618777 (非常念旧)   2017-10-21 17:31:00
纯粹扫描就会常有扫不到的问题我看到 logcat | grep "gatt" 出现E/BtGatt.GattService: App 'xxxxx' is scanning toofrequently看样子,安卓从七开始加了30秒内只能扫5次的限制
作者: a1275647 (iphone 10)   2017-10-27 03:38:00
我建议直接抓手机配对过的蓝芽不必再做搜寻蓝芽动作这样百分百解决扫描问题
楼主: gn00618777 (非常念旧)   2017-12-15 16:06:00
了解,我会参考谢谢。

Links booklink

Contact Us: admin [ a t ] ucptt.com