开始活动并返回不同的活动

时间:2012-11-22 03:40:12

标签: android

如何将活动返回到另一个活动而不是名为startactivity的活动?

我有一个游戏,用户可以选择从现有游戏列表中进行游戏或选择开始新游戏。当开始一个新游戏时,如果游戏列表变为活动状态而不是回到活动来创建新游戏,那么当用户完成游戏时我会喜欢它。

在各种活动中,

目前的作用:

 selectGames  
        playGame --- return to selectGames
           or
        createNewGame --- playGame --- return to createNewGame --- return to selectGames

我想要:

 selectGames  
        playGame --- return to selectGames
           or
        createNewGame --- playGame --- return to selectGames

有没有办法在从createNewGame开始活动时插入一个或多个意图 用户可以完成或暂停游戏并返回selectGames?如果意图在堆栈上,我想从意图堆栈中删除createNewGame(这有意义吗?)

2 个答案:

答案 0 :(得分:7)

注意:每次调用Activity时,都会将父Activity放在已暂停的活动堆栈中:

SelectGame - > CreateNewGame - >琐事

但是你可以在你想要的时候杀死一个Activity,它会从堆栈中掉落。

当您从playGame致电createNewGame时,您可以使用以下代码:

startActivity(playGame); //Put playGame in the top of stack
finish();                //Remove createNewGame (current Activity) from the stack

新订单是:

SelectGame - >琐事

然后,您将从您的筹码中删除createNewGame,然后从playGame返回createNewGame来电者。在这种情况下selectGames

答案 1 :(得分:2)

我相信在清单中为android:noHistory活动添加createNewGame可以实现您的目标

来自文档:

<强>机器人:noHistory

  • 当用户离开活动时,是否应该从活动堆栈中删除活动并完成(调用其finish()方法)并且它在屏幕上不再可见 - 如果应该完成,则为“true”,并且如果不是“假”。默认值为“false”。 值“true”表示活动不会留下历史痕迹。它不会保留在任务的活动堆栈中,因此用户将无法返回该任务。 该属性是在API Level 3中引入的。