我是Android新手NFC API。從NFC標籤(IsoDep)讀取數據
目前,我有一個NFC標籤,我正在製作一個Android應用程序來從中讀取數據。當我的手機距離NFC標籤足夠近時,我的簡單應用便會啓動。但我不知道如何讀取NFC標籤內的數據。該標籤使用IsoDep技術。
我當前的代碼:
@Override
protected void onResume(){
super.onResume();
Intent intent = getIntent();
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
IsoDep isoDep = IsoDep.get(tag);
// How to read data from IsoDep instance?
我用Google搜索互聯網上,我注意到人們將命令發送到IsoDep
擺脫NFC標籤的響應,我從響應假設,我們可以在標籤解析數據,我看到人們這樣做:
//What is the 'command' ? How to define the command?
//e.g.:
byte command = (byte) 0x6A
isoDep.transceive(command)
但是,該命令只是一個byte
,作爲一個新手,實在很難理解發生了什麼。我不知道如何定義命令來讀取數據?任何人都可以向我解釋?或者是否有我可以瞭解該命令的文檔?
一般來說,我需要關於如何定義命令&如何解析從響應數據的一些指導,我想讀取存儲在標籤&數據顯示在UI單元(例如TextView
)在字符串格式的數據。
*和***
我有那些配置沒問題(如AnroidManifest.xml),請不要引導我如何配置:)
爲什麼「len-2」?響應結構如何,是否有任何標題?沒關係,通過維基百科鏈接找到它。 2狀態字節 –
[APDU](https://en.wikipedia.org/wiki/Smart_card_application_protocol_data_unit)消息的結果包含響應數據(特定於應用程序),隨後是對命令進行編碼的響應尾部SW1-SW2處理結果,例如例如0x9000成功。響應數據的任何結構都是特定於應用程序的(通常使用[TLV](https://en.wikipedia.org/wiki/Type-length- value)編碼)。 – Dominik
嘿多米尼克,你爲什麼選擇「方法4」它可能是任何字節? –