在安卓设备上使用 NFC 读取智能卡信息

3
我想向您请教一个与安卓NFC相关的问题!
首先,我已经用Java Smartcardio API创建了一个Java应用程序来读取公司员工通行证。我通过发送APDU命令并解析响应APDU来完成这个过程。
现在,我需要使用安卓手机上的NFC来读取员工通行证。我使用市场上的一个NFC读写器来读取我的员工通行证,发现它是一张Mifare Classic 1K卡片。读写器还向我展示了16个扇区的HEX数据。显然,当我使用Java Smartcardio API时,所得到的HEX数据与此处不同。我是否正在寻找错误的位置?可以有人指导我如何继续进行吗?非常感谢!
1个回答

2
您的员工通行证可能包含一个NFC芯片,可以同时使用IsoDepMifareClassic。您可以通过在NFC意图中的Tag对象上调用getTechList()来确定标签支持哪些技术。
在您的应用程序中,您可以访问IsoDepMifareClassic,但不能同时访问(在切换到另一种技术之前先调用close())。IsoDep是您可以在transceive()方法中使用APDU命令的技术。

非常感谢!通过访问IsoDep并使用transceive()方法,我能够获取所需的数据。基本上,我使用了与RFID读取器相同的命令,它起作用了!=) - user1490481

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接