2

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

事实证明它要么适合我,要么适合我:如果我为我的 MainActivity 以及 MAIN 操作添加操作 NDEF_DISCOVERED(请参阅下面的 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>

难道我做错了什么?这是否可能,或者主要活动只能由单个动作触发?(根据 Android 文档,intent-filter 对象可以包含 1..n 个动作...)。

4

1 回答 1

3

更改意图过滤器如下:

<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>
于 2013-01-10T14:26:24.923 回答