3

我想将数据写入 mifare 经典 1K 标签。有没有人有一个工作示例代码来做到这一点?我在网上找不到足够的信息。谢谢!

4

2 回答 2

3

There is example code availble at http://nearfieldcommunication.com/developers/android/

于 2012-02-10T22:35:35.027 回答
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;
}

在这个例子中,我在 Sector 1 Block 0 写入。请确保您尝试使用适当的密钥写入“有效”扇区。

于 2013-04-25T17:15:41.557 回答