前置条件:

后台数据中只利用两个字段来识别蓝牙设备,蓝牙广播包中设备唯一识别符和MAC地址。(deviceId、deviceMac)

原因:

设备管理员对设备进行添加,需要快速添加,设备管理员页面可以直接获取蓝牙广播包内容,从而提取出MAC地址(设备管理员是安卓手机),使用点击就调用接口进行添加设备。

其他:

如果觉得不嫌麻烦而且不管用户体验的话,其实多设置一个UUID字段用来存放苹果获取的地址其实也是可以实现兼容的(deviceiddeviceMacdeviceUuid

正文:

首先根据蓝牙广播包中的信息,获得唯一识别符,处理过后就是deviceId

并且将获取到的相关蓝牙设备都进行存储“foundDevices”(列表)

foundDevices中的元素含uuid或者mac等信息。foundDevices可返回也可不返回

利用deviceid请求服务器之后,服务器进行查看和分配判断,如果设备可用且身份无误后,返回“blueList”设备信息(含设备id和设备mac、设备电量等),此时设备状态过连接中(过度状态),当“blueList”设备信息返回后,则进行系统判断

这里仅做参考,通过isAndroidsSystem可以判断是否为安卓系统,如果是安卓系统,那么说明服务器返回的“blueList”设备信息中的所拥有的设备MAC则正是对应安卓系统的。

相反,如果判断为苹果系统,则利用之前保存的foundDevices列表,此列表中保存的原广播包获取得到的信息,利用“blueList”设备信息中的设备id,与foundDevices列表进行过滤判断,若唯一识别符也就设备id匹配的上之后,则获取foundDevices列表中的UUID,便可以利用UUID进行下一步操作

我们用activeBlue变量来记录是MAC地址或者UUID

补充:

Android 上获取到的 deviceId 为设备 MAC 地址,iOS 上则为设备 uuid

接下来就是连接设备。

zBlue.DEVICE是被封装过的蓝牙对象,再然后就是执行指令进行设备操作了。

最后操作完后还需要再对服务器进行一次访问,模拟为二次握手。进行设备状态确认和订单记录生成等等了。

解决微信小程序Android与iOS系统获取蓝牙广播包中deviceid不同的办法相关推荐

  1. 解决微信小程序云开发模式无法获取数据库数据问题

    解决微信小程序云开发模式无法获取数据库数据问题 问题: 在数据库有两条数据,获取数据时输出窗口没有任何反应 错误原因: 检查数据库名字是否对应 检查你是否有多个云开发环境 如果有多个云开发环境,就需要 ...

  2. 微信小程序Android和ios授权,uni-app之APP和小程序微信授权方法

    uni-app 介绍 uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架. 适用平台:Android.iOS.微信小程序.实现了一套代码,同时发布到Android.iOS.微信小程序. ...

  3. 解决微信小程序云开发ios读取txt文件问题

    1.问题描述 最近做毕设的时候发现要读取微信小程序云存储中的txt文件内容,安卓端一切正常,但是ios15就一直不能读取内容.感觉是存储权限的问题,在网上找了很多方法都不行.最后用云函数解决的. 2. ...

  4. 微信小程序判断是iOS系统还是安卓系统,微信小程序获取当前设备信息;

    直接写在app.js里全局通用. onLaunch(e) {var that = thiswx.getSystemInfo({success:function(res){that.globalData ...

  5. 解决微信小程序IOS中使用picker弹出内容和手机软键盘重叠的问题

    解决微信小程序IOS中使用picker弹出内容和手机软键盘重叠的问题 项目需求: 一个信息提交页面:有input输入框,有picker选择器 遇到的问题: 点击input输入框时,手机自动弹出键盘,但 ...

  6. 解决微信小程序ios端滚动卡顿的问题

    解决微信小程序ios端滚动卡顿的问题 参考文章: (1)解决微信小程序ios端滚动卡顿的问题 (2)https://www.cnblogs.com/goloving/p/10563472.html 备 ...

  7. 基于安卓/android/微信小程序的电子病历系统app-#计算机毕业设计

    系统介绍 考虑到实际生活中在电子病历管理方面的需要以及对该系统认真的分析,将系统权限按管理员,病人和医生这三类涉及用户划分. (1)病人功能需求 病人进入系统前台可以实现首页.关于我们.我的等,在我的 ...

  8. android post请求时报415错误,解决微信小程序用 SpringMVC 处理http post时请求报415错误...

    解决微信小程序用 SpringMVC 处理http post时请求返回415错误 写微信小程序时遇到的问题,这个坑硬是让我整了半天 wx.request请求跟ajax相似处理方法一致javascrip ...

  9. (附源码)springboot基于微信小程序的校园外卖系统 毕业设计091024

    Springboot基于微信小程序的校园外卖系统 摘要 随着生活质量的日益改善以及生活节奏的日益加快,人们对餐饮需求的质量以及速度也随之发生着变化.为了满足社会需求,餐饮的高质量和快节奏也渐渐使电话订 ...

  10. JAVA微信小程序小说电子书阅读系统毕业设计 开题报告

    本文给出的java微信小程序系统毕业设计开题报告,仅供参考!(具体模板和要求按照自己学校给的要求修改) 选题目的和意义 目的:本课题主要目标是设计并能够实现一个基于微信小程序在线电子书阅读系统,前台用 ...

最新文章

  1. 查看mysql字符集及修改表字符集
  2. [Node.js]Restful Api
  3. python 数据可视化 -- 读取数据
  4. 使用Live Writer和NNTP Bridge阅读微软论坛
  5. TensorBay:一款易用的像Git一样数据版本管理工具!
  6. 关于linux下的命令
  7. [USACO4.2] 草地排水 Drainage Ditches (最大流)
  8. 图解Http学习第二章
  9. 【原创】大叔问题定位分享(11)Spark中对大表子查询加limit为什么会报Broadcast超时错误...
  10. socket.io插件调用的demo
  11. Effective Java 第一条:考虑用静态工厂方法代替构造器
  12. 【Python】长文详解python中的正则表达式
  13. Tip: JSP开发模式
  14. snmp trap 如何在浏览器中_SNMP TRAP功能
  15. 最大流最小割经典例题_图像分割之最小割与最大流算法
  16. linux命令之拒绝服务-关机重启shutdown-init0-6删库(滑稽脸)
  17. 完整版PayPal支付(java后端教程)
  18. Keepalived主主虚拟路由器与虚拟服务器
  19. 蚂蚁金服启动分布式中间件开源计划,用于快速构建金融级云原生架构
  20. 基于tensorflow+CNN的报警信息短文本分类 代码理解(纯小白)

热门文章

  1. 图像处理:连通区域算法
  2. 传统手绘建模与次世代建模技术与流程的区别,在未来游戏行业中作为建模人如何做出职业规划
  3. java.util.MissingResourceException: Can‘t find resource for bundle java.util.PropertyResourceBundle
  4. 物理-空间跳跃技术:空间跳跃技术
  5. Codeforces Round 863 B Kayaking 贪心
  6. 电子商务电子商务| 第2部分
  7. NIVIDIA 硬解码学习2
  8. 【深度学习】搭建类似LeNet-5网络识别Fashion-MNIST数据集(衣服,鞋子等)
  9. 怎么用计算机提供权限,“你需要计算机管理员提供的权限才能对此文件进行更改”怎么办...
  10. 基础-07-八大疑问词