android - 如何在 Android SDK 中使用 MifareUltralight C 中的 3DES/Authentication 扇区

标签 android nfc

我已经阅读了大量的问题和论坛,但没有找到任何对我完成简单任务有帮助的答案/信息,

使用 Android SDK 中各种类的 Mifare Ultralight C 卡的 3DES 认证扇区。来自 Android 的最简单的通信形式是获取 MifareUltralight 类标签的实例。

我猜 transceivebytes() 函数将以某种方式参与其中,但我无法识别它。

我们将不胜感激任何形式的帮助/指导!

最佳答案

NFC 标签通信不应在 UI 线程上完成,因此您需要设置后台线程(例如使用 RunnableAsyncTask )。您将 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/

相关文章:

android - 空 NFC 标签属于哪种 Intent 类型?

android - NDEF 兼容 NFC 芯片

raspberry-pi - Wiegand 26 读卡器可以从 NFC 卡读取什么样的数据?

android - 相机打开时 NFC 不可用

iOS - 在一个阅读 session 中同时获取 NFCTag 硬件 ID 和 NDEF 消息

android - BlueStacks 上的 Google Play 服务安装失败 : Incompatible with other application(s) using the same share user ID

android - 权限拒绝 : starting Intent from null (pid=30992, uid=2000) 未从 uid 10142 导出

android - setLatestEventInfo(...) 未定义通知类型

java - ExoPlayer onResume() 恢复播放状态

android - 如何只更新联系人而不是添加同步适配器