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

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

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

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

相关推荐
MoonMoonLee15 小时前
小程序配置
小程序
拖孩16 小时前
代码我能全交给 AI,流量主这 500 个访客它一个都替不了我
前端·后端·微信小程序
2501_9160074717 小时前
苹果商店iOS应用上架费用全面解析:开发者计划与审核费用计算
android·ios·小程序·https·uni-app·iphone·webview
JQweryuiop17 小时前
中小型游戏陪练工作室数字化管理实践:基于七彩屋电竞护航小程序订单、履约与绩效系统的落地复盘
大数据·游戏·小程序·架构
Ai-_Man18 小时前
您您这可以把Mistral AI的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。
人工智能·ai·小程序·电脑
2501_9160088919 小时前
如何实现iOS App代码混淆:SwiftShield使用指南
android·ios·小程序·https·uni-app·iphone·webview
微擎应用市场19 小时前
简单拼车小程序系统:实现出行与物流资源的高效精准匹配
小程序
甜到心里的蛋糕21 小时前
如何用企业微信实现让微信收到通知实时通知
服务器·python·微信小程序·fastapi
2501_9160088921 小时前
怎么用 Godot 导出 iOS 应用并上架 App Store?签名字段该填什么?
android·ios·小程序·https·uni-app·iphone·webview
2601_9638702021 小时前
基于springboot的综合网上购物商场系统
微信小程序·小程序·课程设计