微信小程序获取蓝牙信标需要注意的坑

微信小程序相关蓝牙接口我通过红米手机实机测试,

小程序获取信标的相关接口

建议使用wx.startBeaconDiscovery(Object object)的相关接口

需要使用的官方接口为:

1、小程序官方接口文档

2、获取设备的蓝牙和gps是否打开的接口

javascript 复制代码
const systemSetting = wx.getSystemSetting();//官方接口为wx
//返回结果为
{
bluetoothEnabled: true
deviceOrientation: "portrait"
locationEnabled: true
wifiEnabled: true
}

小程序无法获取蓝牙数据的问题

小程序获取无法蓝牙数据问题,主要包含两部分:

手机的相关设备没开

  1. 就是蓝牙设备没开,提示打开蓝牙设备
  2. 部分手机当没有打开gps设备时,虽然可是初始化蓝牙打开功能,但是会搜不到,这个时候需要打开gps设备后,重新初始化,然后才能搜到

权限没有获取到

一共有两个权限,一个是蓝牙读取权限,一个是gps权限

分别包括手机设备是否对微信进行了开放,微信是否对小程序进行了开放。需要处理如下四种情况:

手机 小程序
蓝牙 微信获取手机的 小程序获取用户的
gps 微信获取手机的 小程序获取用户的

通过蓝牙-通用 的接口获取beacon数据的问题

通过通用接口,也就是通过wx.startBluetoothDevicesDiscovery(Object object)这个接口获取beacon数据的话,需要解决上面所有的问题,并且还需要解决用户可能拒绝授予权限的问题。

建议直接采用wx.startBeaconDiscovery(Object object)的相关接口,虽然这样在遇到上述权限被拒绝时没有处理的逻辑,但是这种方法不会触发用户授权的界面,默认只要打开相应设备即可获取数据,具体实现方法需要你去确定了。

总结

获取蓝牙设备部分手机需要两种权限,并且需要处理手机未给微信授权,微信未给小程序授权两种情况,通过蓝牙-通用接口获取的话,因为会提示用户授权,因此,必须要处理用户未授权的逻辑,而采用wx.startBeaconDiscovery(Object object)是一种取巧的方式。

相关推荐
Lucky小黄人11 小时前
微信小程序开发常见报错
微信小程序·小程序
Stanford_110620 小时前
【2026新年启程】学习之路,探索之路,技术之路,成长之路……都与你同行!!!
前端·c++·学习·微信小程序·排序算法·微信开放平台
初学者521321 小时前
微信小程序调用录音没反应,本地开发测试却没问题,operateRecorderfail appid privacy api banned
微信小程序·小程序
微爱帮监所写信寄信21 小时前
微爱帮监狱寄信写信小程序信件内容实时保存技术方案
java·服务器·开发语言·前端·小程序
说私域1 天前
基于开源AI大模型AI智能名片S2B2C商城小程序的内容价值生成与多点选择传播策略研究
人工智能·微信·小程序·开源
2501_916007472 天前
iPhone APP 性能测试怎么做,除了Instruments还有什么工具?
android·ios·小程序·https·uni-app·iphone·webview
2501_915106322 天前
Windows 环境下有哪些可用的 iOS 上架工具, iOS 上架工具的使用方式
android·ios·小程序·https·uni-app·iphone·webview
2501_915106322 天前
iOS 抓包工具有哪些?不同类型的抓包工具可以做什么
android·ios·小程序·https·uni-app·iphone·webview
云起SAAS2 天前
供求求购供应发布VIP会员抖音快手微信小程序看广告流量主开源
微信小程序·小程序·ai编程·看广告变现轻·供求求购供应发布
毕设源码-朱学姐2 天前
【开题答辩全过程】以 基于微信小程序旅游疫情防控管理系统为例,包含答辩的问题和答案
微信小程序·小程序·旅游