Если я запускаю приложение с домашнего экрана (нажав значок приложения), то я перемещаюсь по приложению и затем покидаю приложение, когда я снова открываю приложение таким же образом (нажав значок приложения из дома экран) он вернется в предыдущее состояние и покажет последнее действие, перед которым я был, прежде чем покинуть приложение. Эта часть работает как ожидалось.
Вот проблема:
Если я сначала запускаю приложение из магазина воспроизведения или вручную из установщика apk, а затем снова открываю приложение другим способом (нажав значок приложения из дома например, на экране), приложение запустит новый экземпляр основного действия и добавит его в предыдущий стек навигации (если я нажму кнопку «Назад», то go вернется к последнему действию, которое я выполнял перед выходом из приложения).
Я всегда хочу, чтобы приложение открывало последнее действие из фона, независимо от того, как приложение было запущено в первый раз (через домашний экран или в магазине воспроизведения или вручную). Я уже пробовал подобные вещи в основной деятельности:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!isTaskRoot()
&& getIntent().hasCategory(Intent.CATEGORY_LAUNCHER)
&& getIntent().getAction() != null
&& getIntent().getAction().equals(Intent.ACTION_MAIN)) {
finish();
return;
}
[...]
}
, но вызов fini sh () вылетает из приложения.