我正在尝试创建一个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动作......)。
答案 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>