[問題] FLAG_ACTIVITY_CLEAR_TOP

看板AndroidDev作者 (Lucius)時間13年前 (2011/06/19 16:26), 編輯推噓1(108)
留言9則, 4人參與, 最新討論串1/1
目標: 實做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)

06/20 09:47, , 1F
把finish()放在onPause
06/20 09:47, 1F

06/20 13:26, , 2F
我發現create A是CLEAR_TOP flag固定的動作, 如下
06/20 13:26, 2F

06/20 13:27, , 3F
finish C->finish B->finish A->create A
06/20 13:27, 3F

06/20 13:28, , 4F
那請問應該怎樣作才能實現關閉所有activity的功能呢??
06/20 13:28, 4F

06/20 22:54, , 5F
要terminal application? android不建議...xd
06/20 22:54, 5F

06/20 22:55, , 6F
但實作還是有可以用的 1. system.exit(0);
06/20 22:55, 6F

06/20 22:55, , 7F
2.killProcess(Process.xxx); 有點忘了..google一下.
06/20 22:55, 7F

06/20 22:56, , 8F
3. Activity.getParent 直到最top, 然後 finish()?
06/20 22:56, 8F

06/21 00:52, , 9F
task killer真的引發很多問題QQ
06/21 00:52, 9F
文章代碼(AID): #1D_RASP0 (AndroidDev)
文章代碼(AID): #1D_RASP0 (AndroidDev)