5628关注17255浏览
测试流程:
1.蓝牙开启
2.发现设备
3.连接设备
4.获取UUID、特征值
5.启用设备特征值变化时的 notify 功能notifyBLECharacteristicValueChange成功
6.监听低功耗蓝牙设备的特征值变化onBLECharacteristicValueChange成功
7.发送数据writeBLECharacteristicValue成功
8.蓝牙设备收后返回一串156字节长的数据,已经按20字节分好包(从硬件调试工具看到收发已成功)
9.小程序用“6”中注册的onBLECharacteristicValueChange回调接收多个数据包合并起来完成整个流程
测试结果:
1.ios [ Iphone6,IOS8.4.1,Wechat6.6.1,WeChatLib:1.9.1(2018.1.4) ]
结果:所有步骤一次成功,数据收发完整无误,多次测试均流畅稳定,截图如下:
2.android [小米MIX,Android7.0,WeChat6.6.1,WeChatLib:1.9.1(2018.1.4)]
结果:1-8均正常,硬件调试工具显示已经收到小程序发来的数据,也向小程序返回了156字节参数但是小程序的onBLECharacteristicValueChange回调并没有收到数据!第5、6步均成功说明回调注册没问题,但没有收到数据是否属于bug?截图如下:
尝试:
在发送数据成功时添加 readBLECharacteristicValue ,此时可以收到数据,但只能收到最后一个包!!
问题:
小程序安卓版的 onBLECharacteristicValueChange 函数接口是否有bug?或者我的程序处理有问题?有没有朋友遇到过这个问题欢迎留言也请释疑,谢谢!
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
刘二喜
19人对此回答表示赞同
看日志,小程序逻辑应该没有什么异常,但发现监听设备的特征值是同时支持notify和indicate的,这里之前有过case发现当设备同时支持这两种操作是会没有回调。
展开191回复分享发布于 6年前评论(1)
收起评论
-
Shera
19人对此回答表示赞同
谢谢,ios,android已经都可以正确拿到数据(调试期间出现过数据包无规律重复以及最后几个包顺序错误的情况后来自己正常了。。。麻烦暂时不要关闭这个问题,我再继续测试看看)
展开190回复分享发布于 6年前评论(0)
收起评论
-
Peyton
13人对此回答表示赞同
请问下:我开发蓝牙时遇到调用notifyBLECharacteristicValueChange这个api,一直fail。android和ios都不行,不知道是啥问题。其它蓝牙API都可以正常调用。蓝牙设备也是支持notify的
展开130回复分享发布于 6年前评论(0)
收起评论
-
Sierra
7人对此回答表示赞同
android手机记录已上传,iphone的输入//uplog没反应无法上传,微信号zhaiyujia388
展开70回复分享发布于 6年前评论(0)
收起评论
-
Willow
5人对此回答表示赞同
看流程没有什么问题,方便复现一下问题,并在任意聊天框输入//uplog,提供一下微信号,我看一下客户端表现?感谢。
展开50回复分享发布于 6年前评论(0)
收起评论
请问我和主遇到了同样的问题.但是我在notifyBLECharacteristicValueChange接口加上这个type:notification参数会报错是为什么?而且api里没有这个参数