开始应用NFC标签检测

时间:2016-02-23 20:04:10

标签: android-intent xamarin tags nfc intentfilter

我想注册检测到NFC标签时要启动的应用程序。从搜索周围我发现我需要使用

[IntentFilter(new[] { NfcAdapter.ActionTechDiscovered })]

关于主要活动。但是,应用程序无法启动(我也没有提示选择应用程序)。而是打开通用标签阅读器。

问题出在哪里?

1 个答案:

答案 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>