Resume application and stack from notification
android
Solution
Just use the same intent filters as Android uses when it launches the app:
final Intent notificationIntent = new Intent(context, YourActivity.class);
notificationIntent.setAction(Intent.ACTION_MAIN);
notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
As the `Intent` you created to open your `Activity` from the notification bar is the same as Android used for launching your app, the previously opened `Activity` will be shown instead of creating a new one.
Problem
I want to resume my app from a status bar notification in the exact same manner as when the user taps its icon in the launcher. That is: I want the stack to be in the same state as it was before the user left it. The problem when setting a pending intent on the notification is that it always targets a specific activity. I don't want this. I need to resume the application just as the launcher does. So if the user is in activity A, I want to resume activity A. If he has launched activity B from activity A, then I want B to be displayed when the user taps the notification, and the stack to be restored so that A gets resumed when the user taps the back button in B. There are couple of other questions of questions with similar titles, but none address my problem.