Android - начать несколько действий - PullRequest
21 голосов
/ 07 октября 2011

возможно ли начать несколько действий одновременно?Я имею в виду, из основного создать 3 действия в каком-то порядке, и только последнее будет видно?До сих пор мне удавалось создать только одно действие.

Спасибо

Ответы [ 4 ]

38 голосов
/ 30 мая 2012

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

Intent i = new Intent(this, A.class);
i.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(i);

Intent j = new Intent(this, B.class);
j.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(j);

Intent k = new Intent(this, C.class);
startActivity(k);

Таким образом, вы можетеначать действия A, B и C одновременно и подавить переходы к действиям A и B. Вы получаете один переход от текущей деятельности к операции C. Я настоятельно рекомендую записывать вызовы методов жизненного цикла Activity (onCreate и т. д.) вLogCat, например.Это очень помогает в понимании порядка событий.

12 голосов
/ 17 января 2017

Это может быть обычным делом в ответ на глубокое связывание или другие случаи использования, когда вам, по сути, необходимо синтетически перестроить задачу (и все действия, которые она должна содержать).Иногда просто указать parents в манифесте недостаточно.

Взгляните на TaskStackBuilder .Один общий пример:

TaskStackBuilder.create( this )
        .addNextIntent( intentOnBottom )
        // use this method if you want "intentOnTop" to have it's parent chain of activities added to the stack. Otherwise, more "addNextIntent" calls will do.
        .addNextIntentWithParentStack( intentOnTop )
        .startActivities();
12 голосов
/ 05 июня 2015

Действительно старый вопрос, но я думал, что все еще отвечаю на него.

Использование: public void startActivities (намерения [] намерения, параметры пакета)

2 голосов
/ 07 октября 2011

Попробуйте startActivity(new Intent(...); в конце вашего onCreate -Метода первого действия. Это немедленно запустит новую активность и приостановит первую. С помощью клавиши возврата вы вернетесь к последнему занятию

...