Wznów najwyższą aktywność zamiast uruchamiać działanie programu uruchamiającego

Mam dwie czynności w Mojej aplikacji, jedną z nich jest program uruchamiający, a drugą uruchamiam jako jawne wywołanie od pierwszego.

Tutaj Mój problem polega na tym, że kiedy wracam do ekranu głównego, naciskając klawisz Home z drugiej aktywności i uruchamiając aplikację, ponownie rozpoczyna się pierwsze działanie, mimo że drugie działanie jest już w tle.

Pierwsze działanie jest napisane w celu pobrania wymaganych zasobów, aby aplikacja działała, po pobraniu zasobów uruchamia drugą aktywność i wywołuje zakończenie dla siebie.

Poniżej znajduje się mój manifest aplikacji.

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

<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

    <! Download the Required Assets if not found on SD Card -->
    <activity android:name=".ContentDownload"
        android:screenOrientation="landscape"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|locale" 
        android:launchMode="singleTask"
        android:alwaysRetainTaskState="true">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

        <intent-filter>
            <action android:name="android.intent.action.SEARCH" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>

    </activity>

    <activity android:name=".ActualAppActivity" 
        android:screenOrientation="landscape" 
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|locale" 
        android:launchMode="singleTask"
        android:alwaysRetainTaskState="true"
        />

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>  

<supports-screens android:smallScreens="false" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true"/>

Czy ktoś może mi powiedzieć, jak zrobić drugą czynność, aby uzyskać kontrolę bezpośrednio, zamiast przechodzić przez pierwszą, jeśli wywoływany jest program uruchamiający i jest w tle.

Poniżej znajduje się moja metoda oddzwaniania onResult.

public void onResult(String assetPath, int result)
{
    if(result == RESULT_OK)
    {
        startActivity(new Intent(this, ActualAppActivity.class));
        activity.destroyDownloadActvity();
        finish();
    }
    else
    {
        finish();
        java.lang.System.exit(0);
    }
    activity.destroyDownloadActvity();
    activity = null;
}

questionAnswers(6)

yourAnswerToTheQuestion