Intereting Posts
Javax.net.ssl.SSLHandshakeException: удаленное соединение с узлом хоста при рукопожатии при вставке строк в bigquery Когда удаляются SharedPreferences? Android: служба останавливается, когда активность закрыта. Как узнать, какая SIM-карта делает исходящий вызов (Dual SIM) Получить название города и почтовый индекс из Google Place API на Android Проблемы с установкой модуля ADT Eclipse 3.7 Ubuntu 11.10 Начало работы на iOS – для разработчиков Android? Отладка на моем телефоне (Eclipse, Android) Подскажите пользователю оценить приложение Android в приложении Уведомления о состоянии панели Android – открытие правильной активности при выборе уведомления Связаться с адаптером синхронизации в android Не удалось разрешить com.android.tools.build:gradle:0.5.+ Для протокола Parcelable требуется объект Parcelable.Creator, называемый CREATOR (у меня есть CREATOR) Можно ли запускать различные действия при запуске в зависимости от пользовательских настроек? Создание ярлыка: как я могу работать с drawable как Icon?

Очистить активность Стек и начать новую активность в android

Мой вопрос немного отличается от этого типа вопроса. Мне нужно удалить или очистить свой стек активности, а затем запустить новое действие. Я не думаю, что это проблема с clear_top. Я объясняю примером:

Мой поток активности:

Login > Home > Screen1 > screen2 .... 

Я завершаю активность входа или звоню с флагом no_history. Итак, мои действия выглядят так

 Login(finished)> Home [bottom of the stack now] > Screen1 > Screen2[top of the stack] 

Мне нужно обработать ошибку сеанса. Если какая-либо ошибка сеанса возникает в любой точке, мне нужно вернуться к активности входа. Но помните, что у меня нет активности входа в стек. Так что clear_top не будет работать.

Если в Screen2 возникает какая-либо ошибка сеанса, тогда мне нужно очистить полный стек (screen2, screen1, home), а затем начать активность входа. Чтобы после нажатия кнопки нажать в активности входа, закройте мои приложения.

Есть ли способ очистить стек активности?

заранее спасибо

Solutions Collecting From Web of "Очистить активность Стек и начать новую активность в android"

Использовать это

 Intent i = new Intent(yourScreen.this,Home.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); i.putExtra("EXIT", true); startActivity(i); 

И в onCreate класса Home, сделайте это, чтобы проверить,

 if (getIntent().getBooleanExtra("EXIT", false)) { Intent i = new Intent(Home.this,Login.class); startActivity(i); finish(); } 

Что это будет по существу делать независимо от того, какая вы активность, вы можете вызвать домашний экран с четким верхним флагом. На главном экране есть условие проверки в методе onCreate, которое поможет очистить стек и перейти на экран входа в систему. Теперь на экране входа в систему, если вы нажмете кнопку «Назад», вы выйдете из приложения, когда стек очищается ..

Дайте мне знать, если проблема все еще сохраняется …

Это немного старый вопрос, но, возможно, кто-то еще наткнется на него, ища ответ на подобную проблему.

Вы должны запустить активность входа с флагами: Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK – флаг NEW_TASK может иметь немного запутывающее имя, но он фактически создаст новую задачу, только если она не существует (в противном случае текущая задача будет использоваться) – и CLEAR_TASK очистит его от всех предыдущих действий.

Попробуй это,

Завершите свою текущую деятельность

  YourCurrentActivity.this.finish(); Intent intent1 = new Intent(YourCurrentActivity.this,LoginActivity.class); intent1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent1); 

Он будет работать, даже если ваша деятельность не находится в стеке.

Надеюсь, поможет.

Используйте onActivityResult () для управления действиями в этом сценарии.