我正在開發一款適用於Android的nfc應用程序,並希望處理可支持NFC-V或NFC-A協議的標籤。雙ISO ISO標籤
問題是,當我用我的手機(Galaxy S2 plus,運行Android 4.1.2)接近標籤時,它會在90%的時間內檢測到NFC-V協議,而NFC-A協議的10%時間。
我想要做的就是強迫我的手機只注意兩種協議中的一種。這意味着我想在觸摸標籤之前配置我的手機,例如只聽NFC-V協議。
這可能嗎?
我正在開發一款適用於Android的nfc應用程序,並希望處理可支持NFC-V或NFC-A協議的標籤。雙ISO ISO標籤
問題是,當我用我的手機(Galaxy S2 plus,運行Android 4.1.2)接近標籤時,它會在90%的時間內檢測到NFC-V協議,而NFC-A協議的10%時間。
我想要做的就是強迫我的手機只注意兩種協議中的一種。這意味着我想在觸摸標籤之前配置我的手機,例如只聽NFC-V協議。
這可能嗎?
這很不幸是不可能的。
NFC硬件時分複用所有不同的協議。如果您將標籤貼近天線,並且NFC芯片目前正在感應NFC-V,您將獲得NFC-V。與NFC-A一樣。
由於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) {
...
}
嗯,我害怕這一點。一旦檢測到Nfc-V協議切換到Nfc-A協議而不斷開標籤,是否有可能?我知道我可以通過命令將標籤切換到Nfc-A,但我的設備能夠做到這一點嗎? – Jinbonka
如果您使用特殊的NfcV命令從NfcV切換到NfcA,則您將失去與標籤的連接,但會在一秒鐘內重新發現NfcA模式中的標籤。 –
ty爲您的答案,將嘗試儘快。 – Jinbonka