该问题有很多开发者都发现了,原因是未赋予微信“连接附近设备”权限(第一次申请时用户点了拒绝);看之前的帖子,官方的意思是需要手动引导用户去开启这个权限,但是我想说的是引导用户这件事本身就是一个问题,很多用户根本不关心你的引导,他们只会认为是程序错误,不断的反馈到我们开发端,严重影响了相关业务的正常开展。
而且关于这个“Bug”,不知道是微信的问题还是华为系统的问题?根据我的测试,这个“连接附近设备”的权限对蓝牙的影响很奇怪:
1.我新装的微信8.0.50,然后打开小程序测试蓝牙,第一次申请“蓝牙权限”时我点了同意,接着马上就会申请“连接附近设备”权限,这时我点了拒绝,然后启用蓝牙就会报错“{"errno":3,"errMsg":"openBluetoothAdapter:fail:system permission denied"}”,我再去系统设置里面手动开启“连接附近设备权限”后,回到小程序启用蓝牙就正常了。
2.我想再次复现“system permission denied”报错,因此我又去系统设置里手动关闭了权限,结果回到小程序启用蓝牙又正常了,我又把小程序删掉,重新运行后蓝牙也是正常的。也就是说此时“连接附近设备”这个权限对蓝牙根本没有影响。
3.最后我又卸载了微信,重装后再次测试,重复第一步的操作才又一次复现了“system permission denied”这个错误。
综上所述,蓝牙API:openBluetoothAdapter对“连接附近设备”这个权限的要求并不是确定性的!
所以问题到底出在哪里?
这个问题,我们这边也大范围出现了,严重影响了公司业务,微信有开发人员在处理吗?
解决了吗
想知道有没有除了引导用户打开权限,还有什么办法可以不让小程序频闪