Let me start by saying I know this is a very similar question to others that have been answered, but they aren't helping me to solve my problem.

The question [Resume application and stack from notification](https://stackoverflow.com/q/5502427/4662037) is exactly the same problem as mine, but the selected answer doesn't work for me and I don't quite understand why it even would?

Simply enough, I want to be able to resume my app from a notification click and regardless of what activity was open I want it to return to the last activity open. So if I'm in activity F, then press the home button and a couple minutes later I press the notification.. I want to return back to activity F. I cannot go back to the MainActivity as the user is sometimes forced to stay on a certain activity. 

This answer - <https://stackoverflow.com/a/5502950/4662037> is shown below:

```
final Intent notificationIntent = new Intent(context, YourActivity.class);
notificationIntent.setAction(Intent.ACTION_MAIN);
notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);

```

It seems to be correct as so many people have accepted it but **what exactly is "YourActivity" in this case?..** I don't want to set it to a specific activity!

EDIT: Updated code for notification

```
private void setForegroundService(){
    CharSequence text = getString(R.string.app_name);

    PackageManager pm = getPackageManager();

    Intent notificationIntent = pm.getLaunchIntentForPackage("com.example.xxxx.xxxxx");
    notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    PendingIntent contentIntent = PendingIntent.getActivity(getApplicationContext(), 0,
            notificationIntent, 0);

    // Create the notification
    Notification notification = new NotificationCompat.Builder(this)
            .setContentText(text)
            .setSmallIcon(R.drawable.nurse_call_app_icon)
            .setContentTitle(text)
            .setContentIntent(contentIntent).build();

    notification.flags = Notification.FLAG_AUTO_CANCEL | Notification.FLAG_ONGOING_EVENT;

    //  Start the actual service
    startForeground(Integer.MAX_VALUE, notification);
}

```

Manifest code:

```
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.xxxxx.xxxxxx"
    android:versionCode="1"
    android:versionName="0.0.1" >

<uses-sdk android:minSdkVersion="14" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

<uses-feature android:name="android.hardware.Camera" />
<uses-feature
    android:name="android.hardware.bluetooth_le"
    android:required="false" />

<application
    android:name=".xxxxxxx"
    android:allowBackup="true"
    android:icon="@drawable/xxxxxx"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

    <service android:name=".xxxxxxService" />

    <activity
        android:name=".activities.LoginActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
        android:name=".activities.MainActivity"
        android:label="@string/app_name"
        android:launchMode="singleTop"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name=".activities.AlarmActivity"
        android:icon="@drawable/ic_action_alarms"
        android:label="@string/alarm_details"
        android:parentActivityName=".activities.MainActivity"
        android:screenOrientation="portrait" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".activities.MainActivity" />
    </activity>
    <activity
        android:name=".activities.SettingsActivity"
        android:icon="@drawable/ic_action_settings"
        android:label="@string/settings"
        android:parentActivityName=".activities.MainActivity"
        android:screenOrientation="portrait" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".activities.MainActivity" />
    </activity>
    <activity
        android:name=".activities.MessageListActivity"
        android:icon="@drawable/ic_action_email"
        android:label="@string/title_activity_text"
        android:launchMode="singleTask"
        android:parentActivityName=".activities.MainActivity"
        android:screenOrientation="portrait" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".activities.MainActivity" />
    </activity>
    <activity
        android:name=".activities.MessageActivity"
        android:icon="@drawable/ic_action_read"
        android:label="@string/message"
        android:parentActivityName=".activities.MessageListActivity"
        android:screenOrientation="portrait" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".activities.MessageListActivity" />
    </activity>
    <activity
        android:name=".activities.BreakActivity"
        android:icon="@drawable/ic_action_person"
        android:label="@string/title_activity_break"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name=".activities.ContactsActivity"
        android:icon="@drawable/ic_action_group"
        android:label="@string/title_activity_contacts"
        android:parentActivityName=".activities.MainActivity"
        android:screenOrientation="portrait" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".activities.MainActivity" />
    </activity>
    <activity
        android:name=".activities.CallActivity"
        android:icon="@drawable/ic_action_call"
        android:label="@string/title_activity_call"
        android:screenOrientation="portrait" >
    </activity>

    <receiver
        android:name=".BootUpReceiver"
        android:enabled="true"
        android:exported="true" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.QUICKBOOT_POWERON" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </receiver>
    <receiver
        android:name=".PhoneCallReceiver"
        android:enabled="true"
        android:exported="true" >
        <intent-filter>
            <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
            <action android:name="android.intent.action.PHONE_STATE" />
        </intent-filter>
    </receiver>
</application>

```

So a quick overview of what it does:

It starts with the LoginActivity, after you login it will destroy that and the MainActivity will then become the root of everything. You can navigate up and down between stacks but never below the MainActivity unless you call a logout.