這在很大程度上取決於你想要達到你的解決方案,你的目標是什麼平臺,什麼:
可以構建遵循NFC論壇NFC標籤類型4標記規範並僅使用NDEF數據抽象層。
- 您的應用程序可與支持在NFC論壇4類標籤上讀寫NDEF消息的所有設備進行互操作。這包括當前所有支持NFC和NFC Web API的主流移動操作系統平臺。
- 您僅限於65534字節的NDEF數據(包括記錄標題)。
- 您無法真正控制設備如何從/向NDEF文件讀寫數據。特別是,即使將文件分割成多個NDEF記錄,也無法控制文件將被讀取/寫入的段。 (請注意,您可以控制APDU的最大數據字段大小,但沒有什麼能夠阻止NFC設備讀取/寫入更小的數據塊。)
- NFC設備(例如Android會這樣做)通常會讀取整個掃描標籤以執行自動操作(例如啓動應用程序)時的NDEF消息。
可以構建遵循NFC論壇4類標籤規範,並使用NDEF數據抽象層的組合(例如存儲,允許您的應用程序將自動啓動並確定prorietary信息的NFC標籤協議)和專有數據文件(如NFC論壇4類標記操作規範中所述)。
- 在多個平臺(例如Windows Phone 8,NFC Web API)上無法訪問專有數據文件。儘管它們可以在Android和BlackBerry設備上訪問。
- 除了通常由操作系統處理的自動NDEF抽象外,您還需要手動執行命令來識別和訪問公用數據文件(例如,在Android上使用
IsoDep
類)。
- 使用這些prorietary數據文件,您可以構造您的內存使用,例如,每頁一個文件。
- 您不限於65534字節,而是可以有多個文件,每個文件最多65534字節。
- 當掃描標籤以執行自動操作時,NFC設備通常只會默認讀取NDEF文件。專有文件通常會被忽略。
- 除了使用NFC論壇第4類標記操作規範的專有文件功能,您還可以創建一個單獨的應用程序(在不同的DF名稱/ AID下),允許您訪問數據存儲器(通過ISO 7816-4標準化命令我們通過自定義命令)。
您可以創建基於ISO 14443/ISO 7816-4的完全自定義協議。
- 您不會(或僅部分)擁有NDEF標記的功能(例如觸發自動操作,如啓動特定應用)。
- 您的應用將不兼容Windows Phone 8(或任何其他平臺,只允許通過NDEF抽象對標籤進行高級訪問)。
- 您沒有通過實施NFC論壇4類標籤操作規範引入的協議開銷。
我想我會在第二個選項,我現在寫一個Android應用程序讀出在NFC論壇外部類型格式的短NDEF消息提出一個簡短的總結給用戶,然後用戶可以決定是否要下載完整的數據,在這種情況下,我會使用類似SELECT_FILE/READ_BINARY命令的東西,感謝您的幫助 – Andreas