我用android写了一个关于NFC
的应用程序,但我有一个问题。当我将NFC
标签带到手机附近时,会出现一个对话框,让我选择要从NFC
标签读取信息的应用程序。但我不想要这个对话框,我只希望当NFC
标签靠近手机时,我写的应用程序会自动打开。我尝试将代码修改为:
<intent-filter android:priority = "100">
<action android:name="android.nfc.action.TECH_DISCOVERED" />
</intent-filter>
<meta-data android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/filter_nfc"/>
发布于 2012-03-31 21:41:43
Android确定自动打开哪个应用程序的唯一方法是,Android是否能自动读取标签的内容。这仅在标签遵循NFC论坛类型标签标准之一并包含NDEF消息时才有可能。在这种情况下,安卓将发送一个ACTION_NDEF_DISCOVERED
intent,其中包含基于标签内容的数据,例如URI或MIME类型。你的应用程序可以基于此声明一个意图过滤器来接收这样的意图。如果MIME类型或URI是唯一的,则您的应用程序将是唯一匹配的应用程序,并将自动打开。
如果您正在使用的NFC标记不包含NDEF消息,那么您基本上就不走运了。Android没有办法确定比标签的技术更具体的东西,而且通常会有多个应用程序订阅这种意图。因此,将向用户显示一个应用程序选择器,以选择正确的应用程序。
发布于 2012-03-30 22:51:11
当您设置唯一的uri时..它将打开您的应用程序,而不是其他应用程序...http://developer.android.com/guide/topics/nfc/nfc.html#ndef
https://stackoverflow.com/questions/9944965
复制相似问题