如何在Android中强制一个具有相同目的过滤器的活动?

如何在Android中强制一个具有相同目的过滤器的活动?,android,android-intent,nfc,intentfilter,Android,Android Intent,Nfc,Intentfilter,我正在用discovery nfc制作一个Android应用程序。 当我发现NFC标签时,我必须选择应用程序(默认android应用程序和我的应用程序) 我可以在Android系统的应用程序中做什么不要问我打开了什么应用程序? 我的想法是默认启动我的应用程序 <activity android:name=".Test"> <intent-filter> <action android:name="android.nfc.act

我正在用discovery nfc制作一个Android应用程序。 当我发现NFC标签时,我必须选择应用程序(默认android应用程序和我的应用程序)

我可以在Android系统的应用程序中做什么不要问我打开了什么应用程序? 我的想法是默认启动我的应用程序

<activity android:name=".Test">
        <intent-filter>
            <action android:name="android.nfc.action.TAG_DISCOVERED"/>
           <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

在Android上,应用程序本身似乎无法将自己设置为默认处理程序,而是依赖于用户选择操作(如果有多个选项且未指定默认值)

应用程序选择框应该有一个复选框,上面写着“默认使用此应用程序”。如果用户希望每次都使用您的应用程序,则由用户选中该框。

使用意图过滤器中的“数据”元素定义自定义MIME类型

<intent-filter>
    <action android:name="android.nfc.action.NDEF_DISCOVERED" />
    <data android:mimeType="application/com.example.package" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

我不能每次都更改启动应用程序的任何设置?我认为存在一种实现它的方法。Tks
Intent intent = getIntent();
if (intent.getType() != null && intent.getType().equals("application/com.example.package")) {
// app is launched from NFC
} else {
// app is launched from launcher icon
}