我想注册检测到NFC标签时要启动的应用程序。从搜索周围我发现我需要使用
[IntentFilter(new[] { NfcAdapter.ActionTechDiscovered })]
关于主要活动。但是,应用程序无法启动(我也没有提示选择应用程序)。而是打开通用标签阅读器。
问题出在哪里?
答案 0 :(得分:3)
ActionTechDiscovered
意图过滤器需要一个技术列表,用于指定应为其启动活动的标记技术(或它们的组合)。您可以使用以下命令指定技术列表文件:
[IntentFilter (new[]{NfcAdapter.ActionTechDiscovered})]
[MetaData (NfcAdapter.ActionTechDiscovered, Resource="@xml/nfctech")]
然后你需要放置一个文件" nfctech.xml"进入文件夹" Resources / xml"。在此文件中,您可以定义要侦听的所有标记技术。例如,要监听任何标记技术,您可以使用:
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<tech-list>
<tech>android.nfc.tech.NfcA</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcB</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcF</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcV</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcBarcode</tech>
</tech-list>
</resources>