В документах для android:clearTaskOnLaunch
указано, что этот атрибут применяется "всякий раз, когда [действие] перезапускается с главного экрана".
Однако в вашем случае вы нажимаете кнопку Home , чтобы вернуться на главный экран, а не кнопку Back . Это означает, что ваше приложение на самом деле не перезапущено , потому что MainAct
не было «завершено». Это происходит только тогда, когда вы нажимаете Назад (или если Android убивает задачу, чтобы сэкономить ресурсы и т. Д.).
Поскольку у вас есть только два действия в вашем приложении, вы можете установить атрибут android:noHistory
на MainAct
, тем самым гарантируя, что пользователи никогда не смогут вернуться к нему и должны пройти через LogonAct
.
Кроме того, кажется немного раздражающим заставлять пользователей повторно входить в систему каждый раз, когда они уходят из приложения (например, когда они получают телефонный звонок).
Вы можете сохранить токен сеанса с тайм-аутом в постоянном хранилище вашего приложения или оставить сетевое соединение открытым с помощью службы, если так работает ваше приложение & mdash; но, конечно, это зависит от вас и ваших требований. :)