使用 alwaysRetainTaskState 和 lauchMode 保留 android 应用状态
在我的Android应用程序中,我有一个主要活动,用作我的应用程序的入口点,它在我的清单文件中配置如下:
<activity android:name=".Main"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:alwaysRetainTaskState="true"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
因此,对于特定的用例,假设用户通过单击应用程序启动器内的图标从主屏幕启动应用程序。启动应用后,用户从“主要”活动导航到活动 A,最后导航到活动 B。此时,用户决定检查他们的Facebook,因此他们单击主页按钮将我的应用程序放在后台,并启动Facebook应用程序。
检查他们的Facebook后,用户想要返回我的应用程序,因此他们按主页键,然后从应用程序启动器启动应用程序(就像他们第一次启动应用程序一样)。
当用户返回到我的应用时,我希望应用返回到用户在将应用置于后台时所处的最后一个活动,在本例中为活动 B。在清单文件中,我设置了alwaysRetainTaskState=true,以确保操作系统不会杀死我的应用程序的活动。
现在来回答我的问题:我如何获得我上面描述的行为?每当我单击应用程序的图标时,它始终从主要活动开始,无论如何。我认为这是因为类别。启动器属性。我尝试过android:launchMode=singleTask,但它并没有产生任何影响;它总是从Main开始。
如果有人可以澄清意图过滤器,启动模式和任务,那就太好了!