I have 2 launcher activities and 2 modes in my app. When start Activity_A app begin work in mode_A, and Activity_B start mode_B. App can work only in one mode at a given time. Activity_A and Activity_B init needed mode in onCreate()
I have next bad scenario:
- launch Activity_A, app init mode_A
- press home button, Activity_A go into background
- launch Activity_B, app init mode_B
- close Activity_B by back button
- launch Activity_A again -> it's restored (from 2 step), call onStart() and get a lot of exception, because app now in mode_B and Activity_A incompatible with mode_B.
I would like Activity_A clear from stack on step 3, and it would not be restored on step 5. How can I achive this?
Activitys in manifest:
<activity
android:name="Activity_A"
android:launchMode="singleTask"
android:taskAffinity="Affinity_A">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity
android:name="Activity_B"
android:launchMode="singleTask"
android:taskAffinity="Affinity_B" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Also I tried to use android:clearTaskOnLaunch and android:finishOnTaskLaunch with no result :(