首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android NFC技术

Android NFC技术
EN

Stack Overflow用户
提问于 2011-09-01 03:27:28
回答 1查看 358关注 0票数 0

谁能解释一下,为什么Android应用程序支持的标记技术既要以编程方式声明,也要在XML文件中声明?到目前为止,我看到的所有示例都是这样的。看一下这个教程的例子:http://mifareclassicdetectiononandroid.blogspot.com/2011/04/reading-mifare-classic-1k-from-android.html

代码:

代码语言:javascript
复制
mTechLists = new String[][] { new String[] { MifareClassic.class.getName() } };

XML文件:

代码语言:javascript
复制
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <tech-list> 
        <tech>android.nfc.tech.NfcA</tech> 
        <tech>android.nfc.tech.MifareClassic</tech> 
    </tech-list>
</resources> 
EN

回答 1

Stack Overflow用户

发布于 2011-09-02 12:40:27

他们实现了不同的目标。您在XML文件中指定的技术可用作活动的意图过滤器。也就是说,如果过滤器匹配,您的活动将启动。但是,可能有更多的活动与过滤器匹配,在这种情况下,用户将需要选择一个应用程序来处理标记。

您使用enableForegroundDispatch()以编程方式设置的技术可用于绕过其他应用程序;如果您的活动在前台,您可以告诉NFC服务将与过滤器匹配的所有NFC标记发送到您的活动。因此,即使另一个活动具有完全相同的过滤器,应用程序选择器也不会出现,而意图将直接转到您的活动。

在大多数应用程序中,你会想要这两个-如果每当你扫描应用程序中的标签时出现活动选择器,这是很烦人的。但要确保过滤器的准确性--不要过滤掉你不感兴趣的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7262332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档