2011-12-26 52 views
1

返回键按有那里有3个活动的Android应用程序:如何明确后退堆栈活动在安卓

MA - MainActivity(当应用程序启动推出) AC1 - 活动1 - 声明为androidLaunchMode =” singleInstance” AC2- Activity2-声明为androidLaunchMode =” singleInstance”

的活动初始流动是 MA - > AC1 回MA MA - > AC2

因此,总流量就像MA - > AC1 - > MA - > AC2 现在当我按回时,我希望流量为 AC2 - > MA来关闭应用程序。

所以,在MA的背上,我想清除后面的一堆活动。 那么,如何在MA的onKeyDown()中处理这个?

+0

我想你必须完成后面的活动。 – Newts 2011-12-26 13:23:29

+0

我试过整理。但没有任何反应。即使onDestroy()不被调用。 – EnthuDeveloper 2011-12-26 13:25:15

回答

2

当你调用从AC1 MA下面放标志的意图有关设置FLAG_ACTIVITY_CLEAR_TOP标志

FLAG_ACTIVITY_REORDER_TO_FRONT 

FLAG_ACTIVITY_CLEAR_TOP 
+0

我试着从AC2-> MA调用这些标志。这是要求。但没有奏效。尽管如此,我仍然可以看到堆栈中的旧活动。有没有简单的方法来清除堆栈中的所有活动而不向用户显示? – EnthuDeveloper 2011-12-26 13:31:26

+0

你还没有仔细阅读答案我说你从AC1打电话给MA的时间,然后设置这两个标志它将工作 – ingsaurabh 2011-12-26 14:35:57

+0

谢谢Saurabh。问题仍然存在。我的问题是推出的活动进展顺利。但是当我按下回车键时,所有访问过的活动都保留在堆栈中。我不想那样。 – EnthuDeveloper 2011-12-26 14:44:06

0

什么?

+0

我已经在使用它了。但仍然没有清除堆栈。 – EnthuDeveloper 2011-12-26 13:47:42

0

尝试startActivityForResult()

经过以下几个环节

http://micropilot.tistory.com/1577 http://rahulonblog.blogspot.com/2010/05/android-startactivityforresult-example.html