参考范例代码:https://developers.weixin.qq.com/doc/oplatform/Downloads/Android_Resource.html
开发文档缺少太多说明了,照着开发文档完全无法完成开发,还请改进https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Share_and_Favorites/Android.html req.userOpenId是什么?干什么用的?getOpenId方法在哪里?要怎么调用?写个开发文档不是要给我们开发的时候看的吗?为什么要隐藏起这些方法?也没有说明,要我们怎么用? 还有bmpToByteArray方法和buildTransaction方法都不知道在哪也没有说明?写开发文档的人是当我们是你肚子里的蛔虫吗,你不写出来的东西直接默认我们都知道?
2022-07-08楼主 现在这个问题解决了吗?
小程序NFC调MifareClassic.transceive读卡异常?[图片] 文档上对于接口的描述是发送数据 对于MifareClassic的分块读写 指令 0x30 + 块号 可以用于读取某个块的数据指令 0xA0 + 块号 + 待写入数据 可以用于往某个块写入数据我按照格式请求读卡返回的是: {"errMsg":"transceive:fail:system internal error","errCode":13017} [图片] 是我的data格式不正确? 相关回答
2021-01-30楼主 现在这个问题解决了吗?
NfcA.transceive,返回13017,并且不知道data的指令应该如何填写2020.12.10 18:51 [图片] 13017 相关读写操作失败 并且不知道data的指令应该如何填写
2021-01-30同问,楼主解决问题木有?
NFC MifareClassic.transceive(Object object)发送数据异常?NFC MifareClassictransceive(Object object) 有没有大佬知道这个: 对于MifareClassic的分块读写 指令 0x30 + 块号 可以用于读取某个块的数据指令 0xA0 + 块号 + 待写入数据 可以用于往某个块写入数据这个0x30 + 块号 到底该如何写?文档真的太简单了 啥也没
2021-01-30您好,请问解决了嘛?
MifareClassic.transceive 如何读写?微信小程序的文档上好像提到了 对于MifareClassic的分块读写 指令 0x30 + 块号 可以用于读取某个块的数据指令 0xA0 + 块号 + 待写入数据 可以用于往某个块写入数据https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.html 在搜索卡的过程中,能看到命令行打印的日志是支持 MifareClassic的 但是我们在读数据的时候遇到了问题,按道理来说下面的代码应该读取到一块的数据,但是每次不管是读什么卡返回的都是 0x04 (请问是不是读取卡片之前,还需要其它的命令,例如授权,希望有大神可以出来指点一下) const READ_FIRST = '3000' // 十六进制命令字符串 读取第一块的数据 var adapter = null async function testNFC() { adapter = wx.getNFCAdapter() console.log('wx.getNFCAdapter', adapter) initAdapter(adapter) try { // 小程序api promise化的帮助函数 let res = await utils.apiPromise(adapter.startDiscovery) console.log('startDiscovery', res) } catch (e) { console.log(e) utils.showMsg('nfc识别失败,错误码' + e.errCode + `错误信息:${e.errMsg}`) } } function initAdapter(adapter) { // 监听发现卡片的事件 adapter.onDiscovered(async function (card) { console.log('onDiscovered', card) adapter.stopDiscovery() adapter.offDiscovered() let res = {} const instance = adapter.getMifareClassic() instance.connect({ success: async res => { let res1 = {} res1 = await runCommand(instance, READ_FIRST) // read first console.log(res1) }, fail: e => console.error(e) }) }) } function runCommand(instance, command) { console.log('runCommand', command) if (typeof command === 'string') { // 十六进制字符转ArrayBuffer 此函数不在此处列出 command = hexStringToArrayBuffer(command) } return new Promise(function(resolve, reject) { instance.transceive({ data: command, success: res => { // buffer 转十六进制字符串的函数 不在此处列出 console.log('runCommand success:', res, buf2hex(res.data)) resolve( buf2hex(res.data) ) }, fail: err => { console.log('runCommand error:', err) reject(err) } }) }) }
2021-01-30问题解决木有?可以分享一下吗?
NFC MifareClassic transceive发送指令返回13017NFC读MifareClassic卡 ,验证密码后读卡 验密指令[0x60, 0x04, 0xAE, 0x38, 0x40, 0x39, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF] 读卡指令[0x30, 0x04] ,返回 {"errMsg":"transceive:fail:system internal error","errCode":13017} 用[0x30, 0x04, 0x0]可以成功返回,但数据是错的 卡没有问题,Android原生程序可以读写
2021-01-29问题解决没有?能发一下Demo吗?
如何可以读取NFC M1卡的数据吗?我咋没找到相应的api,M1可需要密码啊,没找到身份验证的api如题
2021-01-29