摘要:目标通过微信小程序实现来实现跑步类的功能。核心功能一连接蓝牙设备初始化蓝牙适配器。遇到的问题微信小程序的功能缺陷设备在息屏和后台运行的情况下均无法正常调用,只有切换到前台运行时,才能正常使用使用的是苹果。
背景
微信小程序兴起,有变成超级APP的趋势,通过微信提供的小程序api,可以通过微信调用到手机原生的支持。
目标通过微信小程序实现来实现跑步类App的功能。
需求分析跑步类App需要的两个核心的数据是:心率,GPS。(当然有些App没有链接心率设备,那就不要获取实时心率了)。
工具到微信公众平台申请小程序账号,下载微信开发者工具(预览功能可以让手机扫一扫预览小程序)。
核心功能一:连接蓝牙设备1.初始化蓝牙适配器 openBluetoothAdapter。
2.获取蓝牙适配器状态getBluetoothAdapterState,如果蓝牙可用则,则寻找附近设备;如果不可用,则提示蓝牙未开启并监听蓝牙状态onBluetoothAdapterStateChange。
3.开始寻找附近设备startBluetoothDevicesDiscovery,找到附近的蓝牙列表getBluetoothDevices,并同时监听onBluetoothDeviceFound,发现新设备则添加到蓝牙列表中。
4.在蓝牙列表选择蓝牙设备,获取对应的deviceId。
5.创建蓝牙连接createBLEConnection,以deviceId为参数,创建成功后调用stopBluetoothDevicesDiscovery方法,停止寻找蓝牙设备(寻找设备需要花费大量资源)。
6.获取蓝牙设备服务getBLEDeviceServices,拿到serviceId。
7.获取该设备所有特征值getBLEDeviceCharacteristics,拿到characterId,至此连接设备的三个参数都拿到了(deviceId,serviceId,characterId)。
8.开启notify通信notifyBLECharacteristicValueChange。
9.监听onBLECharacteristicValueChange传输的消息,到这一步蓝牙设备实时发送的消息就接收到了。
核心功能二:获取手机GPS调用wx的api,getLocation即可调用当前的GPS信息、速度、海拔等,计算gps两点之间的距离就可以获取整段距离,调用小程序的map组件可以将整段的GPS绘制成跑步路线。
遇到的问题微信小程序api的getLocation功能缺陷:
Ios设备在息屏和后台运行的情况下getLocation均无法正常调用,只有切换到前台运行时,才能正常使用(使用的是苹果7)。
Android设备部分设备在息屏和后台运行情况下getLocation无法正常调用(本人实测,华为mate10 后台+息屏情况下无法调用,但是honor7X在各种情况下均能正常调用)。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/113045.html
摘要:目标通过微信小程序实现来实现跑步类的功能。核心功能一连接蓝牙设备初始化蓝牙适配器。遇到的问题微信小程序的功能缺陷设备在息屏和后台运行的情况下均无法正常调用,只有切换到前台运行时,才能正常使用使用的是苹果。 背景 微信小程序兴起,有变成超级APP的趋势,通过微信提供的小程序api,可以通过微信调用到手机原生的支持。 目标 通过微信小程序实现来实现跑步类App的功能。 需求分析 跑步类Ap...
摘要:目标通过微信小程序实现来实现跑步类的功能。核心功能一连接蓝牙设备初始化蓝牙适配器。遇到的问题微信小程序的功能缺陷设备在息屏和后台运行的情况下均无法正常调用,只有切换到前台运行时,才能正常使用使用的是苹果。 背景 微信小程序兴起,有变成超级APP的趋势,通过微信提供的小程序api,可以通过微信调用到手机原生的支持。 目标 通过微信小程序实现来实现跑步类App的功能。 需求分析 跑步类Ap...
摘要:微信小程序中的每一个页面的路径页面名都需要写在的中,且中的第一个页面是小程序的首页。真机运行截图运行于,微信版本功能能够计算里程时间实时获取跑步路径有些粗糙思路主要使用了微信小程序的获取位置和地图组件。 首发地址 一、准备工作 1、注册一个小程序账号,得用一个没注册过公众号的邮箱注册。2、注册过程中需要很多认证,有很多认证,比较繁琐,如果暂时只是开发测试,不进行提审、发布的话,只要完成...
摘要:微信小程序中的每一个页面的路径页面名都需要写在的中,且中的第一个页面是小程序的首页。真机运行截图运行于,微信版本功能能够计算里程时间实时获取跑步路径有些粗糙思路主要使用了微信小程序的获取位置和地图组件。 首发地址 一、准备工作 1、注册一个小程序账号,得用一个没注册过公众号的邮箱注册。2、注册过程中需要很多认证,有很多认证,比较繁琐,如果暂时只是开发测试,不进行提审、发布的话,只要完成...
阅读 2536·2023-04-25 19:47
阅读 3383·2019-08-29 17:18
阅读 855·2019-08-29 15:26
阅读 3359·2019-08-29 14:17
阅读 1112·2019-08-26 13:49
阅读 3337·2019-08-26 13:22
阅读 3021·2019-08-26 10:44
阅读 2692·2019-08-23 16:51