我想将数据写入mifare classic 1K标签。有没有人有一个工作示例代码来做到这一点? 我在网上找不到足够的信息。 谢谢!
答案 0 :(得分:3)
答案 1 :(得分: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写入。请确保您尝试使用适当的密钥写入“有效”扇区。