Подтвердить что ты не робот

Android - запуск нескольких действий

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

Спасибо

4b9b3361

Ответ 1

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

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, например. Это помогает в понимании порядка событий.

Ответ 3

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

Ответ 4

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

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

TaskStackBuilder.create( this )
        .addNextIntent( intentOnBottom )
        // use this method if you want "intentOnTop" to have it parent chain of activities added to the stack. Otherwise, more "addNextIntent" calls will do.
        .addNextIntentWithParentStack( intentOnTop )
        .startActivities();