NFC - 写入 MiFare Classic 1K 卡片

3

我想将数据写入到一张Mifare Classic 1K标签中。有人有可行的样例代码吗?我在网上找不到足够的信息。谢谢!


1
你正在使用什么阅读器/硬件/操作系统/库? - Nils Pipenbrinck
抱歉,我忘了提到。我在谈论使用Nexus S作为NFC设备读取标签的Android(Java)问题。你能帮忙吗? - Eran Tal
2个回答

3

3
如果您想实现NFC发现的功能,可以使用以下代码片段:
private void WriteCard(Intent intent) {
    String action = intent.getAction();
    if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(action)) {
        Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
        MifareClassic mfc = MifareClassic.get(tagFromIntent);
        try {
            mfc.connect();
            boolean authA = mfc.authenticateSectorWithKeyA(1,
                    MifareClassic.KEY_DEFAULT);
            Log.d("MainActivity.WriteCard()", String.valueOf(authA) + " ");
            mfc.writeBlock(mfc.sectorToBlock(1), new byte[] { 'A', 'l','v', 'a', 'r', 'e', 'z', ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ', ' ' });
            mfc.close();
        } catch (IOException ioe) {
            ioe.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    return;
}

在这个例子中,我正在写入扇区1块0。请确保您尝试在具有适当密钥的“有效”扇区中进行写入。

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