2013-04-15 80 views
2

我正在開發一款適用於Android的nfc應用程序,並希望處理可支持NFC-V或NFC-A協議的標籤。雙ISO ISO標籤

問題是,當我用我的手機(Galaxy S2 plus,運行Android 4.1.2)接近標籤時,它會在90%的時間內檢測到NFC-V協議,而NFC-A協議的10%時間。

我想要做的就是強迫我的手機只注意兩種協議中的一種。這意味着我想在觸摸標籤之前配置我的手機,例如只聽NFC-V協議。

這可能嗎?

回答

1

這很不幸是不可能的。

NFC硬件時分複用所有不同的協議。如果您將標籤貼近天線,並且NFC芯片目前正在感應NFC-V,您將獲得NFC-V。與NFC-A一樣。

+0

嗯,我害怕這一點。一旦檢測到Nfc-V協議切換到Nfc-A協議而不斷開標籤,是否有可能?我知道我可以通過命令將標籤切換到Nfc-A,但我的設備能夠做到這一點嗎? – Jinbonka

+0

如果您使用特殊的NfcV命令從NfcV切換到NfcA,則您將失去與標籤的連接,但會在一秒鐘內重新發現NfcA模式中的標籤。 –

+0

ty爲您的答案,將嘗試儘快。 – Jinbonka

0

由於Android 4.4系統,這是可能使用Android NFC reader-mode API

NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this); 
nfcAdapter.enableReaderMode(this, this, NfcAdapter.FLAG_READER_NFC_V, null); 

然後,您可以通過讀寫回調檢索Tag對象:

public void onTagDiscovered (Tag tag) { 
    ... 
}