Как завершить вызванную активность?

Этот код запускает новый файл Activity.

Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:123456789"));
startActivity(callIntent);

Как я могу закрыть/завершить это действие (которое я только что начал с кода выше)?


person Newbie    schedule 18.04.2015    source источник
comment
проверьте android:launchMode singleTask и singleInstance здесь . вы также можете попробовать это android:launchMode="singleInstance" в своем манифесте, и он умрет, когда будет выполнено или будет создана новая задача.   -  person Elltz    schedule 18.04.2015


Ответы (2)


Вы не можете. Как только это действие будет запущено, вы окажетесь в заднем стеке, пока оно не завершится (или пользователь не вернется назад с помощью недавних или значков запуска, если это другое приложение). Другая деятельность должна завершиться, чтобы вы могли вернуться.

person Gabe Sechan    schedule 18.04.2015

Что вы делаете: вы начинаете Activity-B с Activity-A

Что происходит во время этого механизма:

  • Когда в первую очередь запускается Activity-A, он как бы переходит в backstack
  • Когда вы говорите, что start Activity-B как бы переходит в backstack на Топ-5_.
  • Итак, теперь, если вы вызываете finish(); в Activity-A, он не может закрыться, так как находится в backstack, поэтому это приведет к другому ответу, например, к повторному перезапуску того же действия или к чему-то еще

Итак, резюмируя мою точку зрения: как предложил Гейб Сечан в одном из ответов.... вам нужно закрыть Activity-B, а затем Activity-A.

person Devrath    schedule 18.04.2015