android - 激活 NFC 操作时应用程序图标不再出现

标签 android android-intent manifest nfc intentfilter

我正在尝试创建一个 Android 应用程序,该应用程序可以通过单击图标(通常方式)和扫描 NFC 标签来启动。两种方式都应该导致相同的(主要)Activity。

事实证明,要么对我来说:如果我为 MainActivity 添加操作 NDEF_DISCOVERED 以及 MAIN 操作(请参阅下面的 AndroidManifest)并在手机上重新安装应用程序,则应用程序图标不会出现在任何地方现在我只能使用 NFC 标签启动应用程序。

<application
        android:label="@string/app_name"
        android:icon="@drawable/icon">
    <activity
            android:name=".activity.MainActivity"
            android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <data
                    android:host="webofthings.org"
                    android:scheme="http" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity android:name=".activity.PhotoActivity"/>
    <activity android:name=".activity.ProductDescriptionActivity"/>
</application>

我做错了什么吗?这是否可能,或者主要 Activity 只能由单个操作触发? (根据 Android 文档, Intent 过滤器对象可以包含 1..n 个操作...)。

最佳答案

更改 Intent 过滤器如下:

<activity
            android:name=".activity.MainActivity"
            android:label="@string/app_name">
 <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <data
                    android:host="webofthings.org"
                    android:scheme="http" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
</activity>

关于android - 激活 NFC 操作时应用程序图标不再出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14259893/

相关文章:

android - 多进程内容提供者同步到默认一个

Android Studio UI 使用设计还是文字?

java - Webview 应用程序检查网络并显示 "no internet connection"(如果没有),并在网络可用时重新加载

android - 向 Snapchat 发送 Intent

azure - 保存 list 失败。错误详细信息 : KeyValueMustBeNull

android - Drupal Android 应用程序登录持久性

android - 在 android 中使用 drawable 设置按钮的边距

android - 从头开始 Activity

xamarin - 错误 CS1926 : Error opening Win32 manifest file

java - 尽管进行了多次尝试,但链接外部 jar 文件时出现问题