Resume an activity when clicked on a notification

The only solution that actually worked for me after doing a lot of search is to do the following :

here you are simply launching of the application keeping the current stack:

//here you specify the notification properties
NotificationCompat.Builder builder = new NotificationCompat.Builder(this).set...(...).set...(..);

//specifying an action and its category to be triggered once clicked on the notification
Intent resultIntent = new Intent(this, MainClass.class);
resultIntent.setAction("android.intent.action.MAIN");
resultIntent.addCategory("android.intent.category.LAUNCHER");

PendingIntent resultPendingIntent = PendingIntent.getActivity(this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);

//building the notification
builder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, builder.build());

You need to set flags in your PendingIntent's ...like FLAG_UPDATE_CURRENT.

Here is all on it. http://developer.android.com/reference/android/app/PendingIntent.html

Edit 1: I misunderstood the question.

Here are links to topics that had the same issue but are resolved:

resuming an activity from a notification

Notification Resume Activity

Intent to resume a previously paused activity (Called from a Notification)

Android: resume app from previous position

Please read the above answers for a full solution and let me know if it works.


Add this line to the corresponding activity in manifest file of your app.

android:launchMode="singleTask"

eg:

<activity
android:name=".Main_Activity"
android:label="@string/title_main_activity"
android:theme="@style/AppTheme.NoActionBar"
android:launchMode="singleTask" />

Try with this.

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
                    mContext).setSmallIcon(R.drawable.ic_launcher)
                    .setContentTitle(mContext.getString(R.string.notif_title))
                    .setContentText(mContext.getString(R.string.notif_msg));
            mBuilder.setAutoCancel(true);

        // Set notification sound
        Uri alarmSound = RingtoneManager
                .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
        mBuilder.setSound(alarmSound);

        Intent resultIntent = mActivity.getIntent();
        resultIntent.addCategory(Intent.CATEGORY_LAUNCHER);
        resultIntent.setAction(Intent.ACTION_MAIN);

        PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
        mBuilder.setContentIntent(pendingIntent);
        NotificationManager mNotificationManager = (NotificationManager) mContext
                .getSystemService(Context.NOTIFICATION_SERVICE);
        // mId allows you to update the notification later on.
        mNotificationManager.notify(mId, mBuilder.build());