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

时间:2013-01-10 14:14:58

标签: android android-intent manifest nfc intentfilter

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

原来它或者对我而言:如果我为我的MainActivity添加动作NDEF_DISCOVERED以及MAIN操作(请参阅下面的AndroidManifest)并在手机上重新安装应用程序,那么app图标不会出现在任何地方我已经只能使用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动作......)。

1 个答案:

答案 0 :(得分: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>