Java 如何更改打开应用程序的默认方式
我在android上写了一个关于NFC的应用程序,但我有一个问题。当我将Java 如何更改打开应用程序的默认方式,java,android,xml,nfc,Java,Android,Xml,Nfc,我在android上写了一个关于NFC的应用程序,但我有一个问题。当我将NFC标签靠近手机时,会出现一个对话框,让我选择哪个应用程序来读取NFC标签上的信息。但是我不想要这个对话框,我只想要当一个NFC标签靠近手机时,我编写的应用程序会自动打开。我试图将代码修改为: <intent-filter android:priority = "100"> <action android:name="android.nfc.action.TECH_DISCOVERED" />
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"/>
当您设置唯一uri时。。它将打开你的应用程序而不是其他应用程序 Android决定自动打开哪个应用程序的唯一方法是,Android是否可以读取标签的内容。只有当标签遵循NFC论坛类型标签标准之一并包含NDEF消息时,才可能这样做。在这种情况下,Android将发送一个ACTION\u NDEF\u DISCOVERED
intent,其中包含基于标记内容的数据,如URI或MIME类型。您的应用程序可以基于此声明意图过滤器以接收此类意图。如果MIME类型或URI是唯一的,则您的应用程序将是唯一匹配的应用程序,并将自动打开
如果您正在使用的NFC标记不包含NDEF消息,那么您基本上是运气不佳。安卓无法确定比标签技术更具体的东西,而且通常会有多个应用程序订阅了这样的意向。因此,将向用户展示一个应用程序选择器,以选择正确的应用程序。为什么您认为用户会想要这样的应用程序?Android上intents背后的整个想法是让用户选择他们认为最好的应用程序。这个应用程序是为我的公司编写的,用于阅读NFC标签中的指定信息,所以我不需要选择