我正在为Android开发一个nfc应用程序,并希望处理一个可以支持NFC-V或NFC-A协议的标签。
问题在于,当我使用手机(Galaxy S2 plus,运行android 4.1.2)接近标签时,它会在90%的时间内检测到NFC-V协议,并且在10%的时间内检测到NFC-A协议
我想做的是强迫我的手机只注意两种协议中的一种。这意味着我想在触摸标签之前配置我的手机,以便仅收听NFC-V协议。
这可能吗?
答案 0 :(得分:1)
遗憾的是,这是不可能的。
NFC硬件时分复用所有不同的协议。如果您将标签放在天线附近,并且NFC芯片当前正在感应NFC-V,您将获得NFC-V。与NFC-A相同。
答案 1 :(得分:0)
从Android 4.4开始,这可以使用Android NFC reader-mode API:
NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
nfcAdapter.enableReaderMode(this, this, NfcAdapter.FLAG_READER_NFC_V, null);
然后,您可以通过reader-callback检索Tag
对象:
public void onTagDiscovered (Tag tag) {
...
}