gpt4 book ai didi

java - 如何使用android获取NFC标签中的完整数据?

转载 作者:行者123 更新时间:2023-11-29 05:18:33 25 4
gpt4 key购买 nike

我写了这个程序,它可以读取 NFC 标签中的所有负载

@Override
protected void onNewIntent(Intent intent) {

if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) {

Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);

if (rawMsgs != null) {
String payloadString="";
NdefMessage[] msg = new NdefMessage[rawMsgs.length];
for (int i = 0; i < rawMsgs.length; i++) {
msg[i] = (NdefMessage) rawMsgs[i];
NdefRecord[] rec=msg[i].getRecords();
byte[] byteArray=rec[0].getPayload();
payloadString=new String(byteArray);

Log.v("log", payloadString);
}
}
}
}

我尝试将 NfcAdapter.EXTRA_NDEF_MESSAGES 更改为不同的值,例如:

NfcAdapter.EXTRA_ADAPTER_STATE, 
NfcAdapter.EXTRA_TAG,
NfcAdapter.EXTRA_ID

但是没有人可以从标签中获取数据

如果使用一些NFC阅读器app读取标签,你会看到payload前后有一些数据,这就是标签中的完整数据。

ntag203-1

ntag203-2

ntag203-3

标签ic的类型是NTAG203

(05) D1 01 85 54 为数据头。

从(06) 02 65 6E 30 30 30 30 .....到(27) 30 30 30 31是payload的内容

我想获取标签中的所有数据,比如:

从 (00) 04 DB 39 64 ... 到 (05) 44 03 89

和 (28) 00 00 -- -- , (29) 00 00 -- --

如何使用android读取这些数据?

目的是,用这些数据来保护我的产品,我会要求制造商写一些 key 到这些只读区域,只有NFC卡有 key 才能使用我的应用程序,所以我需要读取这些数据。

最佳答案

Android NDEF API 将为您提供标签的 NDEF 内容,并抽象出有关标签技术的所有细节。

如果您想从标签中读取原始数据,您需要为您正在读取的特定标签类型使用 android.nfc.tech.* 类。在这种情况下,NTAG203 是类型 2 Mifare Ultralight .

您可以使用 readPages(page)从标签中获取原始数据。

关于java - 如何使用android获取NFC标签中的完整数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25657299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com