moveTaskToBack() 到底是做什么的?

Chi*_*hin 7 android

文档

public boolean moveTaskToBack (boolean nonRoot)

将包含此活动的任务移到活动堆栈的后面。任务内的活动顺序不变。

“将包含此活动的任务移到活动堆栈的后面”究竟是什么意思?我知道每个任务都是一个活动堆栈,但是根据上面这句话,似乎也有一个全局的任务堆栈

当我尝试这个方法时,当前活动移动到后台,行为看起来很像单击主页按钮时(例如活动不会被破坏,可以稍后恢复)。调用这个函数和按 Home 键有什么区别吗?

ada*_*000 5

没有“全局任务堆栈”。有一个全局活动堆栈,可以来自一个应用程序或多个应用程序。假设您有一个应用程序,您可以在其中单击一个链接,将您带到浏览器。如果浏览器随后调用 moveTaskToBack() 方法,那么原始应用程序活动将打开,而后台堆栈上的先前活动仍然存在。

现在想象一下用户按下主页按钮而不是调用 moveTaskToBack() 方法。现在,按手机上的“返回”不会将您带回原始应用程序。您只会停留在主屏幕上。

  • 主屏幕是否有任何特殊处理?或者它总是在堆栈底部,这就是为什么 back 永远不会带你去任何地方?IE 主屏幕必须始终位于堆栈底部吗? (2认同)