android - Android nfcA.transceive(byte[] command),从 nfc 设备获取数据的命令序列是什么?
问题描述
我有几个关于 nfcA 的问题。我正在将 NFC 设备与我的 android 应用程序集成以从设备中获取数据。我成功地使用 nfcA.connect() 连接了 NFC 设备。卡是NXP MIFARE Ultralight。这是我的 NFC 设备信息:
问题:发送到 nfcA.transceive(byte[] commands) 以从设备获取数据的 byte[] 命令应该是什么。当我尝试使用以下命令阅读页面时:
byte[] commands = new byte[]{
(byte) 0x30, // READ
(byte) 0x04, // page address
};
我成功了,但它只显示空字节(00,00,00,00)。所以,我有一个关于如何获取数据的协议文档。截图如下:
所以,考虑到这个请求结构,我试着用字节命令盯着
byte[] commands = new byte[]{
//NFCCmd
(byte) 0x06,
//Manufacture Code
(byte) 0x39,
(byte) 0x02,
//Card Identification Number
(byte) 0x00,
(byte) 0x00,
(byte) 0x01,
(byte) 0x80,
(byte) 0xD9
//Number of Service
(byte) 0x01,
//Service Code
(byte) 0x00,
(byte) 0x0B,
//Cnt
(byte) 0x02,
//BlockList Commands
(byte) 0x06,
(byte) 0x02,
(byte) 0x10,
(byte) 0x40
};
问题: ID 由 7 个字节组成,使用 mTag.getId() 或 TagInfo android 应用程序(参考下图)。
当我发送命令时,我得到异常标记丢失。我知道,这是由于无效命令而发生的。考虑到我的设备信息,你能帮我弄清楚什么是正确的字节命令[]序列。(不能使用 Ndef,所以只需要发送原始命令来获取数据)
任何帮助将不胜感激。
解决方案
推荐阅读
- java - POST 请求期间出现错误 400(错误请求)
- javascript - 无法将 ID 变量传递给 React 表单的 onSubmit 函数
- python - 神经网络分类
- reactjs - 使用语义 UI 反应多步表单
- jquery - 如果给定电子邮件 ID,则无法通过 jquery val() 函数从电子邮件字段中获取值
- r - 如何创建一个 10 年的日期序列,间隔 16 天,每年从 1 月 1 日开始
- node.js - 如何删除用于使用 Mongoose 进行单元测试的文档?
- ios - 多个设备之间的通信
- postgresql - 如何不在 Postgres 中运行 else 语句?
- django - 面向多个开发人员的 Django 测试数据库