Как очистить стек активности в Android? - PullRequest
0 голосов
/ 21 июня 2011

У меня есть требование, где я могу нажать кнопку выхода из любого действия в приложении, дело в том, что когда я нажимаю кнопку выхода из системы, мне нужно получить экран login без отображения предыдущих действий. Я использую:

intent.setFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP )

Я начинаю занятие так:

public void onClick(View v) {
  try
  {
      Intent intent = new Intent(getContext(), Login.class);
      v.getRootView().getContext().startActivity(intent);
      intent.setFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP );
      removeSessionFiles();
      //startActivity (new Intent(getApplicationContext(), Activity1.class));
  }
  catch (Exception e)
  {
    String str = e.toString();
  }
}

Я получаю экран login, когда нажимаю кнопку logout, но когда я нажимаю кнопку back на устройстве, на котором отображаются предыдущие действия, я должен перейти на домашний экран Android при нажатии назад кнопка на экране login. Пожалуйста, вы можете предложить решение для этого?

Ответы [ 3 ]

1 голос
/ 21 июня 2011

Как сказал выше динаш, флаг должен быть установлен до начала действия ... какой смысл устанавливать флаг после запуска действия ... код должен выглядеть примерно так,

Intent intent = new Intent(getContext(), Login.class);
intent.setFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP );
      v.getRootView().getContext().startActivity(intent);

      removeSessionFiles();
0 голосов
/ 25 июля 2013

setFlags перед вызовом startActivity решит вашу проблему

public void onClick(View v) {

try { 
Intent intent = new Intent(getContext(), Login.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP ); 
v.getRootView().getContext().startActivity(intent);
removeSessionFiles(); 
} catch (Exception e) {
String str = e.toString();
}
}
0 голосов
/ 21 июня 2011

Хо, человек, просто поставь линию установки флага прямо перед линией активности ... Это решит твою проблему ...

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

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