我已经阅读了大量的问题和论坛,但没有找到任何对我完成简单任务有帮助的答案/信息,
使用 Android SDK 中各种类的 Mifare Ultralight C 卡的 3DES 认证扇区。来自 Android 的最简单的通信形式是获取 MifareUltralight 类标签的实例。
我猜 transceivebytes() 函数将以某种方式参与其中,但我无法识别它。
我们将不胜感激任何形式的帮助/指导!
最佳答案
NFC 标签通信不应在 UI 线程上完成,因此您需要设置后台线程(例如使用 Runnable
或 AsyncTask
)。您将 NFC Intent 从您的 Activity 传递到该后台线程,然后执行:
Tag tag = intent.getParcelableExtra(NfcAdaptor.EXTRA_TAG);
MifareUltralight ul = MifareUltralight.get(tag);
if(ul == null)
return; // not MIFARE Ultralight
byte[] authenticateCommand = { ... }; // data for authentication command
byte[] authenticateResponse = ul.transceive(authenticateCommand); // send it
... // etc.
关于如何进行 MIFARE Ultralight C 身份验证的具体细节是专有的,据我所知,仅在 NDA 下可用。
关于android - 如何在 Android SDK 中使用 MifareUltralight C 中的 3DES/Authentication 扇区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9577502/