我希望我的应用显示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:clearTaskOnLaunchandroid:finishOnTaskLaunch来在用户每次离开应用程序时清除任务,但这太激进了,我希望所描述的行为是长时间不活动后才忘记状态。

(Android文档似乎不能保证行为,只是在“某些情况下”和“经过一定时间(例如30分钟)后才清除任务”。也许默认行为已更改且Android文档已退出日期?)

最佳答案

此行为是特定于制造商/供应商的。在不同的设备上,您将看到不同的行为。有些设备会主动清除任务,而另一些设备会保留任务状态更长的时间。

关于android - android:alwaysRetainTaskState = false不被尊重,任务状态始终被保留,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22290726/

10-11 22:20
查看更多