从后台恢复Android应用程序堆栈

jli*_*lim 15 java android

让我们说我从主屏幕启动我的应用程序,浏览一些活动,然后我按下主页键并在Gmail应用程序中执行其他操作.

检查完邮件后,我再次按主页键退出Gmail应用程序,再次单击主屏幕上的应用程序图标返回.

当我回到我的应用程序时,我希望它返回到我最近的活动,而不是开始一个全新的会话.我一直试图弄清楚这一点.

我第一次活动的表现如下:

 <activity android:name=".Main"
              android:label="@string/app_name"
              android:screenOrientation="portrait"
              android:alwaysRetainTaskState="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

类别属性LAUNCHER使我的应用程序始终在活动Main开始,所以我不知道如何恢复上一个活动.人们告诉我使用共享偏好保存最后一个活动并将其加载到Launch上,但我不认为这样做是因为它不是很优雅.

Vid*_*nes 0

尝试在清单中使用其中之一:

 <activity android:launchMode=["multiple" | "singleTop" |
                              "singleTask" | "singleInstance"] ...
Run Code Online (Sandbox Code Playgroud)