。我已經成功實現了標籤檢測並基於標籤,我知道我需要使用哪個類來提取數據。但是有一個問題,我需要使用/ tap來獲取數據的卡使用IsoDep技術,而不是NDEF。我知道如何從正在使用NDEF技術的卡上提取數據,但由於IsoDep技術,我在這裏卡住了。我與這個問題分享我的代碼片段,以便更好地理解。如何提取通過IsoDep技術數據 - 我使用NFC技術爲我的Android項目之一NFC(安卓)
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(action) || NfcAdapter.ACTION_TECH_DISCOVERED.equals(action) || NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {
Tag tag = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG);
IsoDep isoDep = IsoDep.get(tag);
isoDep.connect();
//code to get the data from card
isoDep.close()
}
所以在這裏我就要通過NFCAdapter和我越來越IsoDep,tech.NFcA,NdefFormattable作爲標記變量值的條件內TAG_DISCOVERED。我正在創建IsoDep類的實例並調用connect()方法。在這裏,我每次嘗試啓動連接以讀取數據時都會收到IOException,我不知道爲什麼! 任何人都可以幫我解決這個問題嗎?任何幫助將是可觀的。
感謝
感謝您的回覆@henrycjc我已經檢查了IsoDep的對象在我的情況不是null。同樣對於所有其他技術,我越來越空,所以我認爲我只需要在這種情況下使用IsoDep技術。 –
只是爲了澄清,空檢查只是一個很好的做法,而不是解決問題的辦法。但是,你是說NfcA出現在'Tag.getTechList()'中,但是你不能成功'.get'?你確定你還沒有連接其他技術嗎?你也可以解決IOException的問題嗎?你想要做什麼還是有點不清楚。 – henrycjc
好的,所以我再次檢查了我成功Nfca.get(標籤)。關於使用IsoDep技術執行任何操作時的IOException,我們需要首先連接()它,但是在執行此操作時收到IO異常。希望你有這個時間。 –