刚从坑里爬出来。 其实是小程序开发文档的问题,records数组里的对象,除了id,type和payload以外,还有一个tnf参数。 这个参数的具体作用和如何取值可以参考: https://developer.android.google.cn/reference/android/nfc/NdefRecord?hl=zh_cn#TNF_ABSOLUTE_URI 如下,写入这个records就好了。 20201208 更新 下面的string2ArrayBuffer方法无法正确处理中文,推荐使用下面这个库进行转换: https://www.npmjs.com/package/text-encoding const string2ArrayBuffer = function(str) { // 首先将字符串转为16进制 let val = "" for (let i = 0; i < str.length; i++) { if (val === '') { val = str.charCodeAt(i).toString(16) } else { val += ',' + str.charCodeAt(i).toString(16) } } // 将16进制转化为ArrayBuffer return new Uint8Array(val.match(/[\da-f]{2}/gi).map(function(h) { return parseInt(h, 16) })).buffer } // tnf这个属性我是从onDiscovered的出参中发现的 const records = [{ id: string2ArrayBuffer('你要写入的id'), payload: string2ArrayBuffer('你要写入的信息'), type: string2ArrayBuffer('你要写入的类别'), tnf: 2 }];
nfc Ndef.writeNdefMessage 13012 这个错误要怎么处理啊。?[图片] [图片] [图片] 13012 写入失败 Ndef.writeNdefMessage(Object object) 我到底要怎么弄才能写入成功啊。。。。。[图片] uris数组和texts数组 要发什么内容啊。 。 。 [图片] records的内容我应该怎么处理整理。。 nfca的方式我也试了。 [图片] 业务需求:nfc开锁。 。 能不能告诉我下能不能实现。。 我应该怎么做。。 。。
2020-12-07