2016-09-22 3 views
0

В моем приложении у меня есть следующая последовательность:Restart приложения от первой активности

A->B->C 

В C, есть кнопка, которая при нажатии должно взять меня прямо назад A. Проблема в том, что после того, как он возвращается к A, при нажатии назад он принимает меня до C, затем B, затем A, а затем, наконец, существует.

То, что я хочу, что когда приложение переходит от C к A, нажав Спина должна выйти из программы (а не взять меня обратно в C)

После кода в A не работает:

android:clearTaskOnLaunch="true" 
    android:launchMode="singleTask" 

код вернуться к A: startActivity(new Intent(trip.this, login.class));

ответ

1

С этой launchMode вы можете добавить флаг: FLAG_ACTIVITY_CLEAR_TOP ваших intent, чтобы начать свою деятельность.

+0

спасибо, это сработало –

0

После нажатия кнопки на C, вы можете finish() деятельности C и B.

activityC.finish(); 


activityB.finish(); 
1

То, что я хочу, что, когда приложение переходит от C к A, прижимного назад должен выйти из программы (а не взять меня обратно в C)

Добавьте следующий код в Ваша деятельность A.

public void onBackPressed(){ 
      Intent a = new Intent(Intent.ACTION_MAIN); 
      a.addCategory(Intent.CATEGORY_HOME); 
      a.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      startActivity(a); 

     } 

Удалите эти две линии тоже. Я не думаю, что они вам нужны.

android:clearTaskOnLaunch="true" 
    android:launchMode="singleTask" 
+0

где указать новое название деятельности и могу ли я указать это в манифесте? –

+0

Вы можете ссылаться на мой [пост] (http://stackoverflow.com/questions/35367813/exit-the-app-when-back-button-in-device-is-clicked). –

+0

Когда я использую ваш код, он полностью отключает программу. Никогда не открывается. Требуются ли какие-либо изменения в манифесте? –

Смежные вопросы