Setzen Sie die Top-Aktivität fort, anstatt die Launcher-Aktivität zu starten

Ich habe zwei Aktivitäten in meiner Anwendung, eine als Starter und die andere als expliziter Aufruf von Anfang an.

Hier ist mein Problem, wenn ich durch Drücken der Home-Taste von der zweiten Aktivität zum Startbildschirm zurückkehre und die Anwendung starte, wird die erste Aktivität erneut initiiert, obwohl sich die zweite Aktivität bereits im Hintergrund befindet.

In der ersten Aktivität werden die erforderlichen Ressourcen heruntergeladen, damit die Anwendung ausgeführt werden kann. Sobald die Ressourcen heruntergeladen wurden, wird die zweite Aktivität ausgelöst und die Aufrufe werden für sich selbst beendet.

Unten ist mein Manifest der Anwendung.

<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"/>

Kann mir jemand bitte erklären, wie die zweite Aktivität die Steuerung direkt übernimmt, anstatt die erste erneut durchzugehen, wenn der Launcher aufgerufen wird und sich diese im Hintergrund befindet.

Unten ist meine Rückrufmethode 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;
}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage