- 当前 Bug 的表现(可附上截图)
在蓝牙开启的情况下
startBluetoothDevicesDiscovery
成功后
onBluetoothDeviceFound 经常性搜索不到设备, 并且特别慢, 手机原生 App却没有这个问题
onBluetoothDeviceFound 每次都有返回搜索到的蓝牙数据, 定位权限打开了的, 经常性搜索要花10s以上, 并且远距离的设备已经搜到很久了 , 近距离的设备搜索很久都搜不到, 我设置的超时时间为20s , 请官方大佬尽快修复, 老板经常催
- 预期表现
期望和原生 App 一致, 搜索不要经常出现搜索不到设备或搜索很久才出现设备的情况
- 复现路径
- 提供一个最简复现 Demo
wx.openBluetoothAdapter({
success: function(res) {
wx.startBluetoothDevicesDiscovery({
services: [[]],
success: function(startRes) {
console.log('开启搜索成功');
data.isTimeOut = true;
clearTimeout(data.timeoutID);
wx.onBluetoothDeviceFound(
function(devices) {
console.log('扫描onBluetoothDeviceFound返回的内容为 = ' + JSON.stringify(devices));
Android小程序也是直接暴露的ble相关接口,理论上不应该和原生app有太大差别
---
能否加一下微信问问具体的情况?
您好, 我的微信是li459828762 鄙人从多个小程序测试情况来看 发现小程序的蓝牙相比android原生App蓝牙搜索速度慢很多
android APP 中onScanRsult回调在4秒左右就能把所有蓝牙设备发现, 而小程序那边会经常性搜索3秒左右还没有锁具出现, 10秒左右有些锁具还是没搜索到, 鄙人正在开发的小程序经查遇到
onBluetoothDeviceFound 回调没有返回任何数据
原生app是有家过滤参数么?有过滤的话搜索会快很多..加你微信了解下。
---
ps:有进展帖子回复.
有进展了吗?
日志已上传
微信号:li459828762
时间点是2019年4月16日 下午4.48分- 4.50分左右, 出现3次搜索不到设备 2次连接失败
在这个时间点之前,我测试了6个左右蓝牙相关的小程序, 搜索速度均比原生 App 慢太多, 有时
onBluetoothDeviceFound
接口不返回任何数据,并且有些设备过了10s左右都搜索不到, 我司的蓝牙设备每次发广播的间隔低与1秒, 鄙人是一名 android 开发人员, 鄙人开发的 android 版本应用调用的原生接口搜索这些设备均在5秒内全部搜到! 小程序蓝牙搜索和连接还有很大优化空间, 望大佬们优化下!
我也遇到了相同问题. 请问解决没有? 我的微信号: agooou
你好 , 我目前没有解决, 从现象上看是小程序内部问题, 期待官方早日解决!
发一篇别人文章供你们参考一下吧.
https://blog.csdn.net/qq_35683545/article/details/79685595
我在华为nova4上发现小程序开启扫码蓝牙时,系统日志中有报错.
06-05 15:16:12.777 25433 25546 I BluetoothAdapter: getBluetoothLeScanner
06-05 15:16:12.779 25433 25546 I BluetoothAdapter: getBluetoothLeScanner
06-05 15:16:12.781 25433 25546 D BluetoothAdapter: isLeEnabled(): ON
06-05 15:16:12.785 1865 26283 D skia : external skia timerHandler destroy skip because of hasvisit.
06-05 15:16:12.785 23609 23648 I bt_stack: [INFO:gatt_api.cc(950)] GATT_Register e2f76c73-9ec3-3e4c-6b51-be5124151f9b
06-05 15:16:12.785 23609 23648 I bt_stack: [INFO:gatt_api.cc(970)] allocated gatt_if=7
06-05 15:16:12.786 25433 25476 D BluetoothLeScanner: onScannerRegistered() - status=0 scannerId=7 mScannerId=0
06-05 15:16:12.787 23609 23652 W Bth-btfreeze: BluetoothFreeze:tag: 181 uid: 10151 pid: 25433
06-05 15:16:12.789 2063 2166 I PGServer: report state:8 event
type
:1 pid:0 uid:10151 pkg:null to pid: 1121
06-05 15:16:12.789 23609 23652 E Bth-gatt: GattService:security excepetion
06-05 15:16:12.789 23609 23652 E Bth-gatt: java.lang.SecurityException: Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission to get scan results
06-05 15:16:12.789 23609 23652 E Bth-gatt: at com.android.bluetooth.Utils.checkCallerHasLocationPermission(Utils.java:507)
06-05 15:16:12.789 23609 23652 E Bth-gatt: at com.android.bluetooth.gatt.GattService.startScan(GattService.java:2418)
06-05 15:16:12.789 23609 23652 E Bth-gatt: at com.android.bluetooth.gatt.GattService$BluetoothGattBinder.startScan(GattService.java:720)
06-05 15:16:12.789 23609 23652 E Bth-gatt: at android.bluetooth.IBluetoothGatt$Stub.onTransact(IBluetoothGatt.java:104)
06-05 15:16:12.789 23609 23652 E Bth-gatt: at android.os.Binder.execTransact(Binder.java:739)
06-05 15:16:12.789 2063 2166 I BluetoothState: new active bluetooth uid: 10151, pid:25433, reason:BLE_SCAN
06-05 15:16:12.798 1407 1407 D OCTTY : [hisi_config_uart:216] hisi_config_uart
06-05 15:16:12.798 1407 1407 D OCTTY : [hisi_config_uart:286]
set
install
to 2, disable linedisc
06-05 15:16:12.799 1407 1407 D OCTTY : [hisi_config_uart:290] Have uninstalled N_HW_BFG Line displine
06-05 15:16:12.799 1407 1407 D OCTTY : [set_baud_rate:115] set_baud_rate
06-05 15:16:12.799 1407 1407 D OCTTY : [set_baud_rate:146] set_baud_rate()
done
06-05 15:16:12.799 1407 1407 D OCTTY : [hisi_config_uart:330]Have installed N_HW_BFG Line displine
06-05 15:16:12.799 1407 1407 E OCTTY : [main:370]
install
already
set
to
06-05 15:16:12.799 1407 1407 E OCTTY :
06-05 15:16:12.873 577 2318 I GRALLOC : getCallingPid=25433, shrFd=31,
fmt
=0x1,intFmt=0x200000001,btStrd=4352,size=9125888,pid=577
06-05 15:16:12.873 577 2318 I GRALLOC : yuv=2,w=1080,h=2064,Stride u=0
v
=0,offset u=0
v
=0
06-05 15:16:12.873 577 2318 I GRALLOC : iova_size=9125888,conUsg=0x300,proUsg=0x300, strd=1088,[afbc]HdrStrd=1088 PyldStrd=69632 Scrmbl=2,ionhnd = 1
06-05 15:16:12.877 25433 25759 I iGraphics: [0030080c] opt app: 0
06-05 15:16:12.893 578 970 W hwcomposer: setGpuFreqBoost:153: boostGpuFreq release !
06-05 15:16:12.903 1407 1407 D OCTTY : [hisi_config_uart:216] hisi_config_uart
06-05 15:16:12.904 1407 1407 D OCTTY : [hisi_config_uart:286]
set
install
to 2, disable linedisc
06-05 15:16:12.904 1407 1407 D OCTTY : [hisi_config_uart:290] Have uninstalled N_HW_BFG Line displine
06-05 15:16:12.904 1407 1407 D OCTTY : [set_baud_rate:115] set_baud_rate
06-05 15:16:12.904 1407 1407 D OCTTY : [set_baud_rate:146] set_baud_rate()
done
06-05 15:16:12.904 1407 1407 D OCTTY : [change_baud_rate:161] change_baud_rate
06-05 15:16:12.904 1407 1407 D OCTTY : [change_baud_rate:199] change_baud_rate()
done
06-05 15:16:12.904 1407 1407 D OCTTY : [hisi_config_uart:330]Have installed N_HW_BFG Line displine
06-05 15:16:12.904 1407 1407 E OCTTY : [main:370]
install
already
set
to
06-05 15:16:12.904 1407 1407 E OCTTY :
大佬看一下:
06-05 15:16:12.789 23609 23652 E Bth-gatt: java.lang.SecurityException: Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission to get scan results
怎么弄得?有结果吗?我的P20也是特别慢!
有结果了么?
所以最终结果是啥,有结果了吗?
😭
你好,麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点
日志已上传
微信号:li459828762
时间点是2019年4月16日 下午4.48分- 4.50分左右, 出现3次搜索不到设备 2次连接失败
在这个时间点之前,我测试了6个左右蓝牙相关的小程序, 搜索速度均比原生 App 慢太多, 有时
onBluetoothDeviceFound
接口不返回任何数据,并且有些设备过了10s左右都搜索不到, 我司的蓝牙设备每次发广播的间隔低与1秒, 鄙人是一名 android 开发人员, 鄙人开发的 android 版本应用调用的原生接口搜索这些设备均在5秒内全部搜到! 小程序蓝牙搜索和连接还有很大优化空间, 望大佬们优化下!
你好,我遇到了同样的问题,测试了多个手机,IOS在第一次打开时(手机关机再打开)基本会成功,但是从第二次开始onBluetoothDeviceFound不会返回任何数据,API说部分安卓手机可能会出现这种情况,为什么我这边都出现了,如果说是我的代码有问题,但是又有几个手机测试是成功的
小程序如何打开如下权限:
Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission
另外,问一个问题. 微信扫描到设备时,会不会处理rssi,对于rssi小于某个值的会去掉?比如 rssi < -60 时会去掉?
小程序如何弹出去开启定位权限的框? 不是指wx.openSetting()弹出的框, 那个框就算允许了, 微信的系统设置中没有开启定位,一样会失败.