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

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

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

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

相关推荐
游戏开发爱好者812 小时前
iOS 26 iPhone 使用记录分析 多工具组合构建全方位设备行为洞察体系
android·ios·小程序·uni-app·cocoa·iphone·webview
星光一影1 天前
Java医院管理系统HIS源码带小程序和安装教程
java·开发语言·小程序
毕设源码-郭学长1 天前
【开题答辩全过程】以 基于微信小程序的个性化饮品定制点餐系统设计与实现为例,包含答辩的问题和答案
微信小程序·小程序
马尚道1 天前
uniapp陪诊小程序
微信小程序
Terio_my1 天前
微信小程序-智慧社区项目开发完整技术文档(上)
微信小程序·小程序
從南走到北1 天前
JAVA国际版任务悬赏发布接单系统源码支持IOS+Android+H5
android·java·ios·微信·微信小程序·小程序
游戏开发爱好者81 天前
iOS 开发推送功能全流程详解 从 APNs 配置到上架发布的完整实践(含跨平台上传方案)
android·macos·ios·小程序·uni-app·cocoa·iphone
汤姆yu1 天前
基于微信小程序的博物馆文创系统
微信小程序·小程序·博物馆
云起SAAS2 天前
ai公司起名取名抖音快手微信小程序看广告流量主开源
微信小程序·小程序·ai编程·看广告变现轻·ai公司起名取名
黑马源码库miui520862 天前
JAVA购物返利商品比价系统源码支持微信小程序
微信·微信小程序·小程序·1024程序员节