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

时间:2012-03-06 03:25:15

标签: android nfc

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

使用Android SDK中的各种类,使用3DES能够使用Mifare Ultralight C卡的身份验证扇区。 Android最简单的通信方式是获取MifareUltralight类标记的实例。

我猜这个以某种方式会涉及到transmitivebytes()函数,但是我无法识别它。

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

1 个答案:

答案 0 :(得分:2)

不应在UI线程上进行NFC标记通信,因此您需要设置后台线程(例如,使用RunnableAsyncTask)。您将NFC意图从您的活动传递到该后台线程,然后执行:

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身份验证的具体细节是专有的,AFAIK只能在NDA下使用。