data:new ArrayBuffer(0), 这个指令参数必须赋值正确,要看根据标签实际所用的的指令,来写这个指令数组,例如,我手头有一款测温标签,有一条测温指令是0x40,0xc0,0x06,0x00,0x00,0x00,0x00,那么,可以这样写,var array = new Uint8Array([0x40,0xc0,0x06,0x00,0x00,0x00,0x00]);//指令数组必须正确,多一个或少一个字节,都会出现出错。 var NFCdata = array.buffer data:NFCdata 其他代码不变。
nfc 功能,NfcA.transceive为什么总是失败?api:NfcA.transceive基础库:2.14.2 微信版本:7.0.21 华为手机 能读到卡片的类型,也能连接上卡片,nfcA.connect可以成功,但是transcevie就失败了 错误信息:transceive:fail:system internal error 错误code:13017 const app = getApp() Page({ data: { }, onLoad: function () { const adapter = wx.getNFCAdapter(); console.log(adapter); this.adapter = adapter; adapter.onDiscovered(function (res){ console.log('读到卡片了', res); //console.log(res.techs); if(res.techs.includes(adapter.tech.nfcA)){ console.log('发现'+adapter.tech.nfcA+'卡'); const nfcA = adapter.getNfcA(); app.nfcA = nfcA; nfcA.connect({ success: function(res){ console.log('设备已连接', res) nfcA.transceive({ data:new ArrayBuffer(0), success: function(res){ console.log('发送数据成功, 接收数据如下:', res); }, fail: function(err){ console.log('发送数据失败', err); } }) }, fail: function(err){ console.log('设备联接错误', err); } }); } }) adapter.startDiscovery({ success: function(res){ console.log('成功发现设备',res); }, fail: function(err){ console.log('发现设备出错', err); }, complete: function(){ } }); }, onHide() { if (this.nfc) { this.nfc.stopDiscovery() } } })
2021-03-15