Это выглядит как ужасное решение, но ... из-за отсутствия нахождения флагов в манифесте, полагаю, вы правы. : '(
мый сценарий: у меня естьГлавный деятельность, которая запускаетИгра активность при нажатии кнопки. Если пользователь нажимает HOME, а затем снова запускает мое приложение, оно должно быть представлено сИгра активность, то, что он делал в последний раз при использовании приложения.
Однако вместо этого он получаетГлавный активность снова. У меня такое ощущение, что Android создаетеще один экземпляр MainActivity и добавление его в стек для этого приложения, вместо того, чтобы просто выбирать то, что было сверху, потому что если я нажму BACK после перезапуска приложения, я попаду в действие Game! И метод Main.onCreate вызывается каждый раз вместо вызова GameActivity.onResume.
мойAndroidManifest.xml
в значительной степени «голые кости»:
<activity android:name="MainActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="GameActivity" android:label="@string/app_name">
</activity>
Как видите, ничего особенного.
И вот как запускается новая деятельность, тоже очень простая:
Intent intent = new Intent(this, GameActivity.class);
startActivity(intent);
Теоретически это должно работать в Android просто «из коробки», поскольку ответ на очень похожий вопрос гласит:Поддержание стандартного состояния обратного стека активности приложения в Android (в режиме запуска singleTask), но это не так.
Я читал и перечитывал документацию по Activity, Task и Stacks и просматривал все связанные ответы в SO, но не могу понять, почему такая простая установка не совсем работает, как ожидалось.