我開始使用NFC在Android中學習。我可以很容易地讀寫NDEF格式。將MIFARE DESFire EV1配置爲NFC論壇NDEF的4型標籤
我的問題是MIFARE DESFire非EV1,我有一些廠卡,據我所知,他們不符合NFC論壇4類標籤規範,因此,不接受被讀取或寫入NDEF格式(在工廠配置時)。
我可以通過android.nfc.tech.NfcA
或android.nfc.tech.IsoDep
訪問標籤。
到目前爲止,我知道我需要使用IsoDep.transceive()
方法來傳遞命令,使我能夠構建符合NFC論壇4類標準的標籤。
但是我遇到了很多麻煩。我使用TagWriter,它完美地完成了服務。每次使用NDEF數據集時,它都會自動執行一個例程,使卡片成爲NFC論壇第4類標籤,因此也是NDEF標籤。
但是,我找不到任何簡單的例子來自己做這個程序。即使在閱讀規範文檔NFCForum-TS-Type-4-Tag_2.0之後,我仍然很迷茫。
是否有任何實際的例子來做TagWriter應用程序的過程?
- 認識
NfcA
/IsoDep
(確定這裏) - 製作卡片符合NFC論壇4類標籤規範
- 開始識別標籤的
android.nfc.tech.Ndef
- 啓用讀和NDEF寫入
你可以評論字節順序嗎?根據文檔AN11004,「根據NDEF規範數據用網絡字節順序表示」(big-endian),但APDU命令使用LSB第一表示法。發送APDU命令時,上面的數據(項目7)是否應該以相反的順序發出?我非常有信心,因爲恩智浦應用程序(Android)在標題Desfire應用程序下確實識別出「Type 4 Tag version 1」,所以我能夠正確設置應用程序,但是如果我轉到NDEF選項卡「沒有填充NDEF數據存儲」被展示。所以我不知道我的問題是CC還是NDEF文件。謝謝。 – Paul
@Paul你可以更具體地瞭解你感興趣的領域嗎?哪個APDU命令?你指的是MIFARE DESFire命令嗎?這些使用LSB第一個符號(但隻影響整數字段而不是二進制數據)。 CC中的字段的順序是正確的(因爲它們應該寫在我上面的答案中的CC文件中)。 –