Как ограничить количество одинаковых Activity в стеке для приложения Android - PullRequest
3 голосов
/ 10 мая 2010

Возможно ли это в приложении для Android? Я хочу сделать так, чтобы независимо от того, сколько раз пользователь запускает активность A, когда он нажимает кнопку «Назад», он никогда не получит более одного случая активности A.

В моем текущем коде я обнаружил, что у меня есть только два варианта: 1. Я могу вызвать метод finish () в ActivityA, который не позволит полностью получить доступ через кнопку «Назад», или 2. Я не вызываю finish (), и затем, если пользователь запускает активность A (n) раз во время их использования, при нажатии кнопки «Назад» будут (n) случаи.

Опять же, я хочу, чтобы активность A была доступна нажатием кнопки "Назад", но нет причин хранить в стеке несколько экземпляров одной и той же активности. Есть ли способ ограничить количество экземпляров активности в очереди только 1?

Ответы [ 2 ]

7 голосов
/ 10 мая 2010

Один из вариантов - использовать Intent.FLAG_ACTIVITY_REORDER_TO_FRONT каждый раз, когда вы запускаете Activity, так что если экземпляр существует, он переносится в начало стека и не создается каждый раз. Таким образом, вы гарантируете, что в стеке останется только одно действие.

4 голосов
/ 10 мая 2010

Возможно, вы захотите установить свою активность как singleTop - это в основном означает, что вы можете иметь несколько экземпляров, но приложение будет повторно использовать экземпляр, если вы попытаетесь запустить экземпляр поверх себя. См. Документацию Android по Действия и задачи .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...