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

2023-11-29 06:04

本文主要是介绍微信小程序获取蓝牙信标需要注意的坑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

需要使用的官方接口为:
1、小程序官方接口文档
2、获取设备的蓝牙和gps是否打开的接口

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

这篇关于微信小程序获取蓝牙信标需要注意的坑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/431732

相关文章

Java根据IP地址实现归属地获取

《Java根据IP地址实现归属地获取》Ip2region是一个离线IP地址定位库和IP定位数据管理框架,这篇文章主要为大家详细介绍了Java如何使用Ip2region实现根据IP地址获取归属地,感兴趣... 目录一、使用Ip2region离线获取1、Ip2region简介2、导包3、下编程载xdb文件4、J

使用Python创建一个功能完整的Windows风格计算器程序

《使用Python创建一个功能完整的Windows风格计算器程序》:本文主要介绍如何使用Python和Tkinter创建一个功能完整的Windows风格计算器程序,包括基本运算、高级科学计算(如三... 目录python实现Windows系统计算器程序(含高级功能)1. 使用Tkinter实现基础计算器2.

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文