5+APP的蓝牙writeBLECharacteristicValue
按照示例写好以后永远只能收到字符串[object ArrayBuffer]
不管发送什么收到的都是这个字符串
示例参考:http://www.html5plus.org/doc/zh_cn/bluetooth.html#plus.bluetooth.writeBLECharacteristicValue
手机型号已截图发送附件
软件打包temp1.zip
联系方式
[QQ]419958824
5+APP的蓝牙writeBLECharacteristicValue
按照示例写好以后永远只能收到字符串[object ArrayBuffer]
不管发送什么收到的都是这个字符串
示例参考:http://www.html5plus.org/doc/zh_cn/bluetooth.html#plus.bluetooth.writeBLECharacteristicValue
手机型号已截图发送附件
软件打包temp1.zip
联系方式
[QQ]419958824
返回的value数据类型是ArrayBuffer对象,所以console.log转换(toString)输出一定是“[object ArrayBuffer]”,需要使用DataView的类型(如Int8Array)进行操作:
plus.bluetooth.onBLECharacteristicValueChange(function(e){
// 转化成16进制字符串输出显示
if(e.value){
var t = '', v = new Uint8Array(e.value);
for(var i in v){
t += '0x'+v[i].toString(16)+' ';
}
console.log(t);
}
});
Payne (作者)
这个Bug是把value发送出去后,终端只能收到[object ArrayBuffer]字符串,和console.log没有任何关系,终端收到的就是[object ArrayBuffer]这个字符串的二进制数据,我的终端是micro:bit设备~
2018-12-15 10:54
DCloud_App_Array
是Android还是iOS?
2018-12-17 17:01
Payne (作者)
回复 DCloud_App_Array:Android系统;我使用Native.js的方式实现Android API完成这个操作就没有这种情况,感觉是这个接口里Android实现问题!
2018-12-20 11:37