如何操纵Android活动堆栈?

时间:2010-06-23 01:35:09

标签: android stack android-activity task

这是我的两个场景。

1 - 用户首次从Android主屏幕打开应用程序 用户将看到“第一次”屏幕(由第一次活动支持,我们称之为A) 用户点击后退按钮 用户返回到android主屏幕

2 - 用户第二次打开应用程序 向用户显示应用程序的主列表屏幕(由列表活动支持,我们称之为B) 用户点击后退按钮 用户返回到android主屏幕

我已经知道有多种方法可以检测它是否是第一次打开应用程序。

问题在于让后退按钮返回到主屏幕而不是决定转发到哪个屏幕的路由活动。

目前我的应用程序有一个活动来决定路由的位置(让我们称之为R)问题是,我的堆栈看起来像R - > A或R - >乙

我希望A或B在打开时替换堆栈中的R,如果用户回击,则他们会转到Android主屏幕,而不是返回R。

有一个为A和B设置视图的协作者也不是真的可行,因为B扩展了一个列表活动的具体实现,以获得它的大部分功能。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

  

我希望A或B替换上的R.   打开时堆叠,如果是用户   回击,然后他们去了android   主屏幕,而不是回到R.

在呼叫finish()后,在R中呼叫startActivity()以触发打开A或B.