В моем приложении я указал вторую активность, которую можно запустить из панели запуска, используя эту запись манифеста:
<activity
android:name=".Lists.ListOfListsActivity"
android:icon="@drawable/ic_launcher_lists"
android:launchMode="singleTop"
android:label="@string/lists_activity_name" >
<!-- An Intent filter so that the Lists activity shows in the Launcher -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Допустим, у меня открыто приложение в «основном» действии, затем нажмите клавишу «Домой». Мое приложение все еще будет работать, но в фоновом режиме.
Позже пользователь выбирает значок запуска, который у меня есть для «ListsOfListsActivity» на главном экране.
Это выведет приложение на передний план, но НЕ на «ListOfListsActivity», а на то, какой бы ни была его текущая активность, когда она перешла в фоновый режим (например, в «основной» активности).
Это сбивает с толку, так как пользователь выбрал «ListOfListsActivity», но отображается другой. Затем они должны перейти к нему.
У меня это работало лучше, указав launchMode = "singleTask" для "ListOfListsActivity", но в этом режиме его нельзя запустить из другого действия для результата (startActivityForResult()), и мне нужно иметь возможность сделать это, чтобы выбрать список...
Вопрос: - как указать фильтр намерений, который выведет активность на передний план и будет выбранной активностью, независимо от текущего состояния приложения и его текущей активности??