and it executes startActivities(
new Intent { new Intent("xper.intent.FOO_INTENT"), new Intent("xper.intent.BAR_INTENT"), new Intent("xper.intent.BAZ_INTENT")
}); then an instance of Baz is created and made the current Activity. If Baz finishes then an instance of Bar is created and is made the current Activity. If Bar finishes then an instance of Foo is created and is made the current Activity. The method documentation states This method throws ActivityNotFoundException if there was no Activity found for any given Intent. In this case the state of the activity stack is undefined (some Intents
in the list maybe on it, some not, so you probably want to avoid such situations. which is not that helpful. What currently appears to happen in practice is that as long as the ActivityNotFoundException is caught all the Activities corresponding to the Intents before the one that cannot be resolved are started. There is no mention
of whether this method plays nicely with things like the Intent.FLAG_ACTIVITY_CLEAR_TOP flag and other of that ilk should you be sufficiently adventurous to set them in any of the given Intents.