Android - завершить активность и выйти из приложения - PullRequest
2 голосов
/ 09 декабря 2011

У меня есть приложение, которое состоит из 3 видов деятельности - давайте назовем их A, B & C. Из операции A Вы можете перейти к операции B, от B до C и от C до A (нажав кнопку назад).

На занятии А у меня есть кнопка выхода (я знаю, что она не была перекомандирована на Android, но многие пользователи просят об этом, поэтому я решил добавить ее).

В любом случае проблема заключается в том, что: у действия B есть таймер, а когда таймер заканчивается, он запускает намерение, которое запускает activiy C и вызывает finish () для действия B.

Когда пользователь затем снова нажимает на действие C, он попадает в активную зону A - и затем, когда он нажимает кнопку выхода (эта кнопка только преобразует финиш () ()), он снова вызывает активную деятельность B. Как я могу предотвратить это?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 10 декабря 2011

Идея: установите isFinished поле в вашем Application на true и вызовите finish().Все действия проверяют, если isFinished в их onResume() и если они истинны, они finish().

1 голос
/ 10 декабря 2011

Я не уверен, что понимаю, как вы попадаете в А, когда возвращаетесь из С. Разве это не должно вернуться в Б (логически, я имею в виду. Я знаю вас хочу , чтобы перейти к A)? На самом деле, похоже, что-то и происходит. B перезапускается, но A появляется поверх него, так что когда вы заканчиваете A, теперь отображается B (который находился под ним).

Похоже, вы не хотите, чтобы B был частью стека истории, поэтому, возможно, когда вы запускаете B, вы должны запустить его с флагом no history .

0 голосов
/ 21 декабря 2011

Ваше действие b не завершено, вот что я могу выяснить, что оно все еще находится в рабочем состоянии, поэтому, когда все другие действия завершены, они обнаруживаются, пожалуйста, проверьте, закончено ли это или нет

...