我希望我的应用能够展示Android documentation中android:alwaysRetainTaskState
所描述的默认行为:
通常,系统会清除任务(从中移除所有活动) 在用户的某些情况下,在根活动之上堆叠) 从主屏幕重新选择该任务。通常情况下,如果这样做 用户没有访问任务一段时间,例如 30分钟。
这不是我所看到的。即使在> 1天之后,使用启动器图标重新启动我的应用程序也会将用户返回到他们离开它的位置。 例如,在全新安装后,我的应用程序在启动时会显示主屏幕活动H.然后,用户导航到详细活动:H - > J.经过很长一段时间的重新启动,我希望用户看到H,但他们看到J。
这些是我在AndroidManifest.xml中的活动设置的标志:
<activity
android:name=".AppHomeScreen"
android:label="@string/app_name"
android:alwaysRetainTaskState="false"
android:launchMode="singleTop"
android:windowSoftInputMode="stateUnchanged">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
我正在运行Android KitKat 4.4.2。
我有没有理由在这里看到预期的行为?我知道每次用户离开应用程序时我都可以设置android:clearTaskOnLaunch
或android:finishOnTaskLaunch
来清除任务,但这太激进了,我想要描述的行为只会忘记状态之后长时间不活动。
(Android文档似乎并不保证行为,只是在“某些情况”和“经过一定时间后,如此30分钟”清除任务。可能默认行为已更改且Android docs已经过时了?)
答案 0 :(得分:2)
此行为是制造商/供应商特定的。在不同的设备上,您将看到不同的行为。有些设备会积极清除任务,而其他设备可以在更长的时间内保留任务状态。