我正在尝试使用 NFC 将我的 Android 平板电脑连接到设备并从设备中检索数据。
我试过的
按照nfc_device_detection_1.01.pdf(第 4 章)中的说明发送命令
transceive()的 android java doc提到了
“应用程序不得将 SoD(长度)或 EoD(CRC)附加到有效负载,它将自动计算”
因此,我尝试了使用和不使用 CRC,使用和不使用数据包数据长度,但文档并不清楚我是否应该将其留空或者我是否应该不包括它。
我采用的另一种方法是遵循format_sequence_guidelines_1.1.pdf(同步代码后跟请求)第 2.2 章中的图表,但结果相同。
问题
我不知道将什么命令(字节)作为参数发送到 transceive() 方法。**
问题
有没有人:
- 有NFCF通信的例子吗?
- 有更多关于应该使用的协议/命令的信息吗?
- 知道 NFC 标签是否包含命令所需的字节?
代码
transceive() 抛出 IO 异常“标签丢失”。
我相信这是因为我的命令字节不正确(我使用了一系列不同的命令)。
最后一点(我也厌倦了将 transceive() 放在一个 while 循环中,每次都关闭并连接通信)
String action = intent.getAction();
if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(action)) {
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
NfcF nfcf = NfcF.get(tag);
nfcf.connect();
byte[] command = new byte[] { (byte) 0x00, (byte) 0x00};
byte[] response = nfcf.transceive(command);
}
如果您的答案需要任何其他信息,请发表评论。谢谢你。