作者mamaya3 (mamaya)
看板AndroidDev
標題Re: [問題] 如何按下按鈕就能結束掉整個程式?
時間Thu Apr 19 12:15:38 2012
※ 引述《gpc (gpc)》之銘言:
: → iincho:送intent叫他關啊... 04/18 00:18
: → lin790505:目前用大絕招的話也只是回到上一個activity 沒能夠離開 04/18 14:18
: → lin790505:程式 04/18 14:18
: 推 LaPass:那就..... 自己finish吧..... 不過我怎麼記得同一個app是用 04/18 14:20
: → LaPass:同一個Process... 還是我記錯 囧" 04/18 14:20
: 如果你system.exit process是會結束沒錯
: 但結束後 會退回上一個activity stack,如果上一個activity
: 好死不死 又是你自己...
: 那你就會再度出馬 又會復活
: 直到上一個activity是別人 才會真的死
http://developer.android.com/reference/android/content/Intent.html#FLAG_
ACTIVITY_CLEAR_TASK
根據這篇的說法 你可以設一個臨時性的Activity 然後給他這個flag再開啟它
該activity就會變成新的root activity (原stack會全被清光)
最後在此Activity的onCreate寫上finish()把自己幹掉 應該就可以達成你要的條件
理論上是這樣啦 我沒試過XD
ps.這flag僅限API 11以上才能用
--------
不過根據你的問題 你要不要先把主選單的activity改成singleTask看看?
AndroidManifest.xml example:
<activity android:name=".activities.A"
android:label="@string/A_title"
android:launchMode="singleTask"/>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 98.119.33.159
※ 編輯: mamaya3 來自: 98.119.33.159 (04/19 12:22)
推 gpc:一般來說api level 超過3的api 就不能算是ANDROID標準API 04/19 20:50
→ gpc:如果你想做android軟體市場的話 就不能用超過API LEVEL3的東西 04/19 20:51
→ gpc:這就是ANDROID跟iphone的差別 現在還是有一堆人用可悲的1.5 1. 04/19 20:51
→ gpc:1.5 1.6 就算2.1還是有上百萬人 .. 04/19 20:51
推 yauhh:哦,樓上透露這真是好訊息,但是Android開發者...哭哭 04/19 21:18
→ siriusu:@@" 我是覺得1.5 1.6還好 很多就算API支援硬體也不夠力吧 04/19 23:53
→ siriusu:如果是設計比較吃硬體的程式譬如遊戲的時候 04/19 23:54
推 gpc:android太哭哭啦 光搞那些爛機子相容就有得受了 04/20 02:31