У меня есть два действия Main и SearchEvent. У основного действия есть режим запуска: "singleTask", и нет никакого специального параметра, связанного с действием SearchEvent.
Когда я нажимаю кнопку, присутствующую в главном действии, действие SearchActivity запускается на переднем плане и отображает список событий. Когда я нажимаю на один из элементов списка, элементы должны получить eventId и начать действие Main.class, но поскольку Main.class уже присутствовал в стеке, он помещается сверху, но убивает SearchActivity (я вижу, что onDestroy метод называется).
Я не хочу, чтобы метод onDestroy для SearchEvent вызывался, и только действие SearchEvent переходит в фоновый режим, а всплывет главное действие.
Также, если я попытаюсь использовать launchMode = "singleTop", он запустит еще один экземпляр активности Main, который я не ищу.
Какую настройку включить, чтобы запустить тот же экземпляр Main и переместить SearchEvent в фоновом режиме?
Код в файле манифеста.
MainActivity
<activity
android:configChanges="orientation"
android:launchMode="singleTask"
android:name=".Main"
android:screenOrientation="portrait"
android:theme="@style/Theme.CustomDialog" >
<intent-filter >
<action android:name="android.intent.action.VIEW" />
</intent-filter>
<intent-filter >
<action android:name="android.intent.action.SEND" >
</action>
<category android:name="android.intent.category.DEFAULT" >
</category>
<data android:mimeType="image/*" >
</data>
</intent-filter>
<intent-filter >
<action android:name="android.intent.action.SEND" >
</action>
<category android:name="android.intent.category.DEFAULT" >
</category>
<data android:mimeType="video/*" >
</data>
</intent-filter>
</activity>
<activity>
ПоискEvent code
<activity
android:configChanges="orientation"
android:label="@string/app_name"
android:name="SearchEvent"
android:screenOrientation="portrait"
android:theme="@style/Theme.CustomDialog1" >
<intent-filter >
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
Код, используемый для вызова основной активности в первый раз.
Intent mainIntent = new Intent(SignIn.this, Main.class);
startActivity(mainIntent);
Код для вызова SearchEvent из основной активности
Intent searchActivity = new Intent(Main.this, SearchEvents.class);
startActivity(searchActivity);
Код для повторного вызова Основная активность из действия SearchEvents
Intent mainIntent = new Intent(SearchEvents.this, Main.class);
startActivity(mainIntent);