Android 在应用程序处于后台时向堆栈添加活动

Android 在应用程序处于后台时向堆栈添加活动,android,android-activity,Android,Android Activity,假设用户在我的应用程序的活动A。 用户离开应用程序(使用home按钮),在某个时候,当他在做其他事情时,我想将应用程序的堆栈更改为ab。我不希望活动B突然出现,我只希望当(如果)用户返回到我的应用程序时,他看到活动B 似乎从后台线程调用活动A中的startActivity(B)是可行的,但我不确定这是否会在每个平台上都有所需的行为(我想要的是,用户在返回到我的应用程序之前不会看到活动B)我可能没有正确地遵循这一点 如果您所追求的只是保存状态(上次激活的活动),则可以使用首选项 然后,您就可以拥有

假设用户在我的应用程序的活动
A

用户离开应用程序(使用home按钮),在某个时候,当他在做其他事情时,我想将应用程序的堆栈更改为
ab
。我不希望活动
B
突然出现,我只希望当(如果)用户返回到我的应用程序时,他看到活动
B


似乎从后台线程调用活动
A
中的
startActivity(B)
是可行的,但我不确定这是否会在每个平台上都有所需的行为(我想要的是,用户在返回到我的应用程序之前不会看到活动
B

我可能没有正确地遵循这一点

如果您所追求的只是保存状态(上次激活的活动),则可以使用首选项

然后,您就可以拥有一个MainActivity,它除了决定下一次启动应用程序时应该显示哪个Activity之外,什么都不做

主要

使用首选项查找最后一个活动 开始第一个活动依赖于最后一个活动ID或您选择的任何逻辑


活动A或B启动/恢复等-将活动ID存储在共享首选项中,以便稍后检索

在我的应用程序中,有线程正在执行任务,并且一个线程可能会从网络接收到一些东西,这些东西应该从活动
A
启动活动
B
。现在,如果用户暂时离开了我的应用程序,线程仍在运行,我不想通过突然显示
B
来对用户施加压力,我只想将
B
添加到我的应用程序当前运行的任务的堆栈中。当用户返回到我的应用程序时,应该会看到
B