我正在创建一个包含两个活动(Activity1和Activity2)的Android应用程序,我需要以两种方式打开应用程序。
方式1:通过NFC卡
这样,我需要打开Activity1。即。如果我刷卡我需要打开Activity1。
方式2:按图标
这样,我需要打开Activity 2 .ie。,如果用户点击图标,则必须打开Activity2。
我的AndroidManifest.xml如下所示,
...............
...............
...............
<activity
android:name=".Activity1"
android:screenOrientation="portrait"
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" />
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
</activity>
.......................
.......................
.......................
在Activity1中,我只是尝试通过
获取类型 if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction()))
{
// Here I'm dealing with Activity1.
}
else
{
// Here I've set an Intent to go to Activity2.
}
你可以看看我设置了Intent的else块去Activity2.But我需要直接进入Activity2而不进入Activity1。
如何实现?请帮忙
答案 0 :(得分:1)
如果用户点击启动器中的图标,则选择要打开的活动由LAUNCHER
类别决定。因此,如果您在Manifest中定义第二个活动并将这些行移至它,即将其从Activity1
中删除并将其添加到Activity2
,它应该有效:
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.MAIN" />
然后,只要用户调用您的应用程序,就会触发Activity2
,但Activity1
仍会被其他意图触发。
<强>参考文献:强>