Первые две строки кода (показаны ниже) , которые вы написали, запускают еще одну Активность .
Intent launchIntent = packageManager.getLaunchIntentForPackage(context.getPackageName());
cpa.startMainActivity(launchIntent.getComponent(), user);
Начало новой Активности на Android не завершает потоки.
Таким образом, остальная часть вашего кода (показано ниже) будет продолжать работать, пока не достигнет конца вашего кода.
if (dialogDismisser != null) {
dialogDismisser.run();
}
И чтобы ответить на ваш последний вопрос:
Перенаправление намерений обещано произойти только в будущем?
Вид.Новое действие запускается немедленно вместе с намерением;однако остальная часть вашего кода будет продолжать работать, пока не достигнет конца.