Переопределение поведения Activity/Task в Android

Я пишу простое приложение для Android, и я хотел бы лучше контролировать навигацию / отношения между действиями. Я не хочу, чтобы мои действия действовали как действия для Android... Я не хочу, чтобы они складывались в Задаче. я хочу один Activity (давайте назовем это MainActivity), чтобы быть точкой приземления и всегда быть в нижней части стека, и я хочу, чтобы только один экземпляр моей второй активности (назовем его SecondActivity) был выше его в стеке... было бы неплохо используйте его также. Я думал, что смогу добиться такого поведения, сделав MainActivity "главным" Activityи объявить их обоих launchMode=singleTop, Это не работает вообще. Я обеспечиваю навигацию между ними с помощью меню, поэтому, когда я много раз возвращаюсь назад и возвращаюсь из приложения, я прохожу весь стек.

Как лучше всего иметь точный контроль над заданиями Activity стек? Я хочу, чтобы MainActivity всегда возвращалась из приложения, а SecondActivity всегда возвращалась в единый экземпляр MainActivity. Кроме того, я хотел бы, чтобы SingleTop работал, поэтому я бы использовал onNewIntent вместо того, чтобы создавать и уничтожать каждый раз. Использование манифеста и флага намерения просто не работает. Есть идеи?

1 ответ

Решение

Что ж, вы всегда можете просто вызвать "finish()" в любой деятельности, вызывающей другое действие после вызова "startActivity()". Я бы определенно не советовал пытаться объединить все приложение в два класса активности и пытаться поменять местами представления в зависимости от того, что они делают. Если это так важно для вас, просто закройте свои действия, когда запускаете новые (хотя, очевидно, не MainActivity).

Другие вопросы по тегам