Android Application Development (AND-401) — Question 89
Consider the following code:
Intent i = new Intent(this, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
What best explains the code above?
Answer options
- A. The activity being launched is already running in the current task, then instead of launching a new instance of that activity, all of the other activities on top of it will be closed and this Intent will be delivered to the (now on top) old activity as a new Intent.
- B. Any existing task that would be associated with the activity to be cleared before the activity is started.
- C. A new Activity will be launched and it will be on the top of the stack
- D. A new activity will be launched but will be in full-screen mode.
Correct answer: A
Explanation
The correct answer is A because the FLAG_ACTIVITY_CLEAR_TOP flag ensures that if the MainActivity is already running, it will be brought to the foreground, and all activities above it will be cleared from the stack. Option B is incorrect because it misinterprets the purpose of the flag, while C and D do not accurately describe the behavior of the code with the given flag.