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

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

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

建议使用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)是一种取巧的方式。

相关推荐
云迈科技-软件定制开发10 小时前
2026年湖南长沙软件定制开发公司怎么选?本地企业做APP、小程序、管理系统的合作参考
小程序
admin and root11 小时前
「移动安全」安卓APP 反编译&frida脱壳技巧分享
android·开发语言·python·web安全·微信小程序·移动安全·攻防演练
m0_462803882 天前
【无标题】
微信小程序
小码哥0682 天前
从三甲综合医院到连锁诊所:医院管理小程序的场景化突围逻辑(陪诊系统-陪诊APP-陪诊小程序)
小程序·医院管理系统·陪诊小程序·陪诊系统·陪诊app
2501_916007472 天前
iOS和macOS应用程序性能分析和优化工具使用综合指南
android·macos·ios·小程序·uni-app·iphone·webview
正在走向自律2 天前
用豆包Seed Evolving打造全功能【AI智能记账】小程序,开源可落地
人工智能·小程序·开源·智能记账
小羊Yveesss3 天前
模板建站哪个平台好?模板数量之外还要比较编辑与SEO能力
大数据·人工智能·小程序
2501_916007473 天前
深入理解HTTPS对称与非对称加密机制及Charles抓包实践
网络协议·http·ios·小程序·https·uni-app·iphone
郑州光合科技余经理3 天前
家政O2O平台解析:从0搭建上门预约小程序解决方案
android·java·开发语言·前端·小程序·架构·php
维双云3 天前
小程序商城制作一个需要多少钱?2026报价明细与成本拆解
小程序