我正在尝试创建一个 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/