作者jehovah (Lucius)
看板AndroidDev
标题[问题] FLAG_ACTIVITY_CLEAR_TOP
时间Sun Jun 19 16:26:02 2011
目标: 实做Quit功能
自动 手动
我的activity开启顺序是 A ----> B ----> C
其中B 和C 都有Quit function
{
A.quit = true; (A 的public static boolean)
Intent intent = new Intent(this, A.class);
intent.setFlag(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent)
finish();
}
在A 的onResume中
{
super.onResume();
if(A.quit)
finish();
}
预期FLAG_ACTIVITY_CLEAR TOP会一路clear activity到A
A再於onResume中finish自己, 退出整个程序
在C中Quit很正常, 一路destory到homescreen
问题是在B中Quit, 也是一路destory到homescreen, 但马上又onCreat了"
A"!
奇怪喔, 这是我哪里弄错了吗?
谢谢指教喔!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.186.181
※ 编辑: jehovah 来自: 59.120.186.181 (06/19 18:26)
※ 编辑: jehovah 来自: 59.120.186.181 (06/19 18:34)
1F:推 crazyma:把finish()放在onPause 06/20 09:47
2F:→ jehovah:我发现create A是CLEAR_TOP flag固定的动作, 如下 06/20 13:26
3F:→ jehovah:finish C->finish B->finish A->create A 06/20 13:27
4F:→ jehovah:那请问应该怎样作才能实现关闭所有activity的功能呢?? 06/20 13:28
5F:→ sjrom:要terminal application? android不建议...xd 06/20 22:54
6F:→ sjrom:但实作还是有可以用的 1. system.exit(0); 06/20 22:55
7F:→ sjrom:2.killProcess(Process.xxx); 有点忘了..google一下. 06/20 22:55
8F:→ sjrom:3. Activity.getParent 直到最top, 然後 finish()? 06/20 22:56
9F:→ tomap41017:task killer真的引发很多问题QQ 06/21 00:52