1

我正在制作一个带有发现 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>
4

2 回答 2

0

使用意图过滤器中的“数据”元素来定义自定义 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>

您可以将此意图过滤器添加到您要启动的任何活动中。您甚至可以将其作为附加过滤器与启动过滤器一起添加到启动器活动中。

如果这样做,您可以使用以下代码来确定您的活动是通过 NFC 还是通过启动图标启动的:

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
}
于 2012-10-24T10:18:38.437 回答
0

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

该应用程序选择框应该有一个复选框,上面写着“默认使用此应用程序”。如果他们想每次都使用您的应用程序,则由用户决定是否选中该框。

于 2011-06-30T21:37:33.440 回答