我有2個發射器圖標和2個不同的活動的應用程序。清單文件是象下面這樣:Android應用程序與2個發射器圖標與單獨的任務親和力
....
<activity
android:name=".MyActivity"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:taskAffinity="my.package.com.MyActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MySettings"
android:label="@string/settings"
android:icon="@mipmap/ic_launcher"
android:taskAffinity="my.package.com.MySettings">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
....
我想MyActivity
是在安裝後,打開默認的屏幕,所以我用.category.DEFAULT
。
action.MAIN
和category.LAUNCHER
將顯示兩個單獨的啓動器圖標(1代表MyActivity
,1代表MySettings
)。
問題:當我打開MyActivity
時,MySettings
屏幕也被打開。我希望每個啓動器圖標僅打開其相應的活動。我已經使用taskAffinity
爲每個活動解決問題,但它沒有奏效。我認爲要使taskAffinity
工作,活動必須開始與國旗Intent.FLAG_ACTIVITY_NEW_TASK
,我不能在我的情況下(都是啓動活動)。
我也試過使用android:launchMode="singleTask"
,但它也沒有工作。
如何讓每個啓動器圖標僅打開其活動?
更新:對不起,我認識到MyActivity
沒有打開MySettings
,它似乎是如此。 MyActivity
沒有UI,所以顯示的空白屏幕與MySettings
類似。 taskAffinity
工作正確。我已將android:theme="@android:style/Theme.NoDisplay"
添加到MyActivity
以隱藏UI。
@Jemshit我編輯了我的答案。它按照您的要求工作。 – Shekhar