我在Android中编写NFC应用程序,在编写标签时遇到了一些问题。我已经能够写一个标签,但为了做到这一点,我使用清单中的intent-filters检测它。但是,我想要做的是使用前台调度程序直接使用应用程序处理标记。我可以使用前台调度程序“捕获”NDEF_DISCOVERED标记,但我不知道如何以相同的方式使用TECH_DISCOVERED。
此代码适用于NDEF_DISCOVERED:
// Setup an intent filter for all MIME based dispatches
IntentFilter ndef = new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED);
try {
ndef.addDataType("*/*");
} catch (MalformedMimeTypeException e) {
throw new RuntimeException("fail", e);
}
mFilters = new IntentFilter[] {
ndef,
};
// Setup a tech list for all NfcF tags
mTechLists = new String[][] { new String[] { NfcF.class.getName() } };
但是我应该怎样做TECH_DISCOVERED ????我正在尝试这个并且它不起作用:
IntentFilter ntech = new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED);
mFilters = new IntentFilter[] {
ntech,
};
// Setup a tech list for all NfcF tags
mTechLists = new String[][] { new String[] { NfcF.class.getName() } };
}
答案 0 :(得分:0)
我希望你能自己想出来。 但是,对于没有这样做的人: 您应在mTechLists中指定适当的标记技术,您希望处理该标记技术。无需更改意图过滤器以指定ACTION_TECH_DISCOVERED,它应该与ACTION_NDEF_DISCOVERED一起正常工作。 干杯!!