一个网名
一个网名
  • 发布:2022-01-14 10:55
  • 更新:2022-03-17 09:44
  • 阅读:676

native.js每次读取蓝牙数据长度问题

分类:Native.js

现在在做一个蓝牙获取指纹功能,所用的设备支持标准蓝牙与低功耗蓝牙。
官方给了一个安卓的app,读取速度很快,三四秒就能读取到数据(一共30多KB)
一开始我用的是uniapp封闭的低功耗蓝牙,获取数据需要一分多种,最终修改MTU值可以最快9秒获取完数据,但是离最终使用还是有差距,达不到上线要求。

最终选择了使用native.js来操作标准蓝牙,现在的情况是:能连接、能发命令、也能读取,但是现在卡在了读取这里调用读取的方法是:invoke(btInStream, "read");但是这个方法每次只能返回1个字节,实际需要发送36864个字节,一个一个的读取太慢了,有没有什么办法能一次读取多个?找了好多native.js的案例,都是这个方法

找了一个安卓的蓝牙api,好像read方法能再传第二个参数,即获取长度,但是一旦传第二个参数的话程序就报错了,有懂这块的吗?可否告知一下怎么操作呢?
我是这么写的:

let data = invoke(btInStream, "read", [1014]);  // 这么写会报错,使用try catch的话e的内容也是空的  
let data = invoke(btInStream, "read"); // 如果这么写就能读取,但是每次只有一个字节
2022-01-14 10:55 负责人:无 分享
已邀请:
Azikou

Azikou

大佬 能问下 蓝牙怎么连接么,

该问题目前已经被锁定, 无法添加新回复