2017-01-11 3 views
0

У меня есть 3 вида деятельности A-> B-> C. Я хочу закончить деятельность A по активности C. но если при активизации операции B нажата клавиша «назад», операция «А» идет вперед.Как закончить активность A от активности C

+0

Возможно, вы не должны иметь три мероприятия. Если A и B тесно связаны друг с другом, так что B запуск C каким-то образом влияет на A, сделайте A и B одним действием, а не двумя. – CommonsWare

+0

вы можете установить активность A в noHistory = true в манифесте, но тогда ваше приложение закроется, когда нажимается задняя часть на действие B –

+0

Используйте это: Intent intent = new Intent (это, B.class); intent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity (намерение); finish(); Чтобы закончить текущую активность – AndroidBeginner

ответ

0

Вы можете получения идеальной его следующим образом:

Шаг 1: При вызове активность B

Intent intent = new Intent(A, B.class); 
startActivity(intent); 

Шаг 2: От B до C:

Intent intent = new Intent(B, C.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); 
    startActivity(intent); 
+0

о действии C, когда я нажал кнопку «назад», операция «А» была впереди – user2782614

+0

Вы проверили это правильно? Флаги, которые я добавил при создании C, - это то, что очищает заднюю часть активности, и, следовательно, A также уничтожается. – ChaitanyaAtkuri

+0

Я нашел другой способ '// в действии A: public static AppCompatActivity var_name; onCreate() { if (var_name == null) { \t var_name = this; }} // на активность C: OnCreate() { \t A.var_name.finish(); } ' – user2782614

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

  • Нет связанных вопросов^_^