Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何更改打开应用程序的默认方式_Java_Android_Xml_Nfc - Fatal编程技术网

Java 如何更改打开应用程序的默认方式

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" />

我在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"/>   


当您设置唯一uri时。。它将打开你的应用程序而不是其他应用程序

Android决定自动打开哪个应用程序的唯一方法是,Android是否可以读取标签的内容。只有当标签遵循NFC论坛类型标签标准之一并包含NDEF消息时,才可能这样做。在这种情况下,Android将发送一个
ACTION\u NDEF\u DISCOVERED
intent,其中包含基于标记内容的数据,如URI或MIME类型。您的应用程序可以基于此声明意图过滤器以接收此类意图。如果MIME类型或URI是唯一的,则您的应用程序将是唯一匹配的应用程序,并将自动打开


如果您正在使用的NFC标记不包含NDEF消息,那么您基本上是运气不佳。安卓无法确定比标签技术更具体的东西,而且通常会有多个应用程序订阅了这样的意向。因此,将向用户展示一个应用程序选择器,以选择正确的应用程序。

为什么您认为用户会想要这样的应用程序?Android上intents背后的整个想法是让用户选择他们认为最好的应用程序。这个应用程序是为我的公司编写的,用于阅读NFC标签中的指定信息,所以我不需要选择