如果我错了,请纠正我 “moveTaskToBack(假/真);”与Activity的可见性无关,但与Activity Stack有关,因为很多次在stackoverflow上我发现人们对此感到困惑。
现在我的情景: 有两个活动A和B. A是根活动 B从活动A启动
事情是我不希望我的活动B被杀死按下后退按钮后,(只是我希望它不可见,活动A可见,这将发生在它本身可以让我恢复它的状态。
所以在搜索了一下之后我就知道了 moveTaskToBack(假);, 这似乎是解决方案,因为它不会杀死活动(因为活动不会被发送到活动堆栈中),但唯一的问题是。它适用于Root Activity,因此它不适用于我的情况。那么我可以使用“非根”活动的任何替代方案,以便恢复活动的状态....
答案 0 :(得分:1)
我猜你误解了
public boolean moveTaskToBack (boolean nonRoot)
在API级别1中添加
将包含此活动的任务移动到活动堆栈的后面。任务中的活动顺序不变。
参数
nonRoot如果为false,则仅当活动是任务的根时才有效;如果为true,它将适用于任务中的任何活动。
返回
如果任务被移动(或者它已经在后面),则返回true,否则返回false。
默认情况下,后退按钮会将您带回上一个活动。它弹出来自后栈的活动,并且堆栈中的前一个活动成为焦点。
将活动状态保存在onPause
中,将其恢复为onCreate
或onResume
。要持久存储值,请使用以下链接来存储选项。
http://developer.android.com/guide/topics/data/data-storage.html
http://developer.android.com/guide/components/tasks-and-back-stack.html
您可能需要通过以下链接检查commonsware的答案。
https://groups.google.com/forum/#!topic/android-developers/4Pz6LrzVpx0