[英]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閱讀器應用程序來讀取標簽,您將看到有效載荷之前和之后有一些數據,這是標簽中的完整數據。
標簽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.