綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[資料] Android程式完全退出的三種方法

[複製連結] 查看: 5802|回覆: 22|好評: 2
跳轉到指定樓層
暗桌之光 | 收聽TA | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
發表於 2011-8-10 10:52

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
      很多網友可能發現自己的Android程式有很多Activity,比如說主視窗A,調用了子視窗B,在B中如何關閉整個Android應用程式呢? 這裡給大家三種比較簡單的方法實現。
       首先要說明在B中直接使用finish(),接下來手機顯示的還是主視窗A,所以一起來看看是如何實現的吧.

       1. Dalvik VM的本地方法
       android.os.Process.killProcess(android.os.Process.myPid())    //獲取PID,目前獲取自己的也只有該API,否則從/proc中自己的枚舉其他進程吧,不過要說明的是,結束其他進程不一定有權限,不然就亂套了。
       System.exit(0);   //常規java、c#的標準退出法,返回值為0代表正常退出

       2. 任務管理器方法
       首先要說明該方法執行在Android 1.5 API Level為3以上才可以,同時需要權限android.permission.RESTART_PACKAGES,我們直接結束自己的package即可,直接使用ActivityManager類的restartPackage方法即可,參數為package name,該類通過getSystemService(Context.ACTIVITY_SERVICE)來實例化ActivityManager對象,這種方法系統提供的,但需要顯示聲明權限,所以使用中需要綜合考慮。

        3. 根據Activity的聲明週期
        我們知道Android的視窗類提供了歷史棧,我們可以通過stack的原理來巧妙的實現,這裡我們在A視窗開啟B視窗時在Intent中直接加入標誌Intent.FLAG_ACTIVITY_CLEAR_TOP,這樣開啟B時將會清除該進程空間的所有Activity。
       在A視窗中使用下面的代碼調用B視窗
Intent intent = new Intent();
intent.setClass(Android123.this, CWJ.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  //注意本行的FLAG設定
startActivity(intent);
       接下來在B視窗中需要退出時直接使用finish方法即可全部退出。
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 5碎鑽 +1 幫助 +5 收起 理由
SJMP + 1
tt60815 + 1 好內容。朕有賞,還不謝主隆恩.
black147 + 1 讚一個!
hsiao.wow + 1 + 1 非常讚
wjap4 + 1 讚一個!

查看全部評分

收藏收藏11 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
22
apple321 | 收聽TA | 只看該作者
發表於 2013-3-24 13:41
謝謝您的分享!!能使用星幣真的是太棒了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

21
apple321 | 收聽TA | 只看該作者
發表於 2013-3-24 11:10
謝謝您的分享!!能使用星幣真的是太棒了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

20
apple321 | 收聽TA | 只看該作者
發表於 2013-3-24 11:09
謝謝您的分享!!能使用星幣真的是太棒了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

19
apple321 | 收聽TA | 只看該作者
發表於 2013-3-24 11:07
謝謝您的分享!!能使用星幣真的是太棒了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

18
apple321 | 收聽TA | 只看該作者
發表於 2013-3-24 11:07
謝謝您的分享!!能使用星幣真的是太棒了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

17
apple321 | 收聽TA | 只看該作者
發表於 2013-3-24 11:06
謝謝您的分享!!能使用星幣真的是太棒了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

16
apple321 | 收聽TA | 只看該作者
發表於 2013-3-24 01:46
謝謝您的分享!!能使用星幣真的是太棒了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

15
aabbyy | 收聽TA | 只看該作者
發表於 2012-6-8 08:13
看著 Android 的程式碼, 總覺得不是很乾脆, 一大堆的 API, 看得眼都花了.
不過也只能硬著頭皮玩下去了.
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

14
king80301 | 收聽TA | 只看該作者
發表於 2012-2-14 06:58
所以要root?


感謝~~
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

13
Funky | 收聽TA | 只看該作者
發表於 2011-12-8 21:03
看不懂~~~~~太難了啦~!!!
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則