簡體   English   中英

如何使用android獲取NFC標簽中的完整數據?

[英]How to use android to get complete data in NFC tag?

我寫了這個程序,它可以讀取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閱讀器應用程序來讀取標簽,您將看到有效載荷之前和之后有一些數據,這是標簽中的完整數據。

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是有效載荷的內容

我想獲取標簽中的所有數據,例如:

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

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

如何使用android來讀取這些數據?

目的是,使用這些數據來保護我的產品,我會要求廠商給這些只讀區域寫一些密鑰,只有NFC卡有密鑰才能使用我的app,所以我需要讀取這些數據。

Android NDEF API將為您提供標簽的NDEF內容,並抽象有關標簽技術的所有詳細信息。

如果要從標記中讀取原始數據,則需要對正在閱讀的特定標記類型使用android.nfc.tech。*類。 在這種情況下,NTAG203是Type 2 Mifare Ultralight

您可以使用readPages(頁面)從標記中獲取原始數據。

首先確定您擁有的卡類型,即Is07816等,然后嘗試獲取該數據然后解碼數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM