Android程序完全退出的幾種方法

Android程序完全退出的幾種方法

很多網(wǎng)友可能發(fā)現(xiàn)自己的Android程序有很多Activity,比如說主窗口A冰寻,調(diào)用了子窗口B,在B中如何關(guān)閉整個(gè)Android應(yīng)用程序呢? 這里Android123給大家三種比較簡單的方法實(shí)現(xiàn)开呐。

首先要說明在B中直接使用finish()序臂,接下來手機(jī)顯示的還是主窗口A,所以一起來看看Android開發(fā)網(wǎng)是如何實(shí)現(xiàn)的吧.

1.? ? ? ? Dalvik VM的本地方法

android.os.Process.killProcess(android.os.Process.myPid())? ? //獲取PID稿壁,目前獲取自己的也只有該API幽钢,否則從/proc中自己的枚舉其他進(jìn)程吧,不過要說明的是傅是,結(jié)束其他進(jìn)程不一定有權(quán)限匪燕,不然就亂套了蕾羊。

System.exit(0);? //常規(guī)java、c#的標(biāo)準(zhǔn)退出法帽驯,返回值為0代表正常退出

2.? ? ? ? 任務(wù)管理器方法

首先要說明該方法運(yùn)行在Android 1.5 API Level為3以上才可以龟再,同時(shí)需要權(quán)限android.permission.RESTART_PACKAGES,我們直接結(jié)束自己的package即可尼变,直接使用ActivityManager類的restartPackage方法即可利凑,參數(shù)為package name,該類通過getSystemService(Context.ACTIVITY_SERVICE)來實(shí)例化ActivityManager對(duì)象嫌术,這種方法系統(tǒng)提供的哀澈,但需要顯示聲明權(quán)限,所以使用中需要綜合考慮度气。

3.? ? ? ? 根據(jù)Activity的聲明周期

我們知道Android的窗口類提供了歷史棧日丹,我們可以通過stack的原理來巧妙的實(shí)現(xiàn),這里我們?cè)贏窗口打開B窗口時(shí)在Intent中直接加入標(biāo)志Intent.FLAG_ACTIVITY_CLEAR_TOP蚯嫌,這樣開啟B時(shí)將會(huì)清除該進(jìn)程空間的所有Activity。

在A窗口中使用下面的代碼調(diào)用B窗口

Intent intent = new Intent();

intent.setClass(Android123.this, CWJ.class);

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);? //注意本行的FLAG設(shè)置

startActivity(intent);

4.? ? ? ? killBackgroundProcesses方法

在Android 2.2中新增了一個(gè)API可以幫助我們殺死后臺(tái)進(jìn)程丙躏,不過Android123再次強(qiáng)調(diào)其調(diào)用的API Level最小為8择示,killBackgroundProcesses是android.app.ActivityManager類的方法,使用時(shí)必須在androidmanifest.xml文件中加入KILL_BACKGROUND_PROCESSES這個(gè)權(quán)限晒旅。雖然本類還提供了restartPackage (String packageName) 方法調(diào)用的API Level為3栅盲,但是SDK中已經(jīng)標(biāo)記為deprecated离唐,其實(shí)他們的原理都是一樣的晰赞,只不過過去Google的命名方式確實(shí)不是很合理,restartPackage的作用很難讓我們聯(lián)想到是結(jié)束進(jìn)程或杠。

該方法的原型 public void killBackgroundProcesses (String packageName)? 僅有一個(gè)參數(shù)為package Name鱼鼓,使用方法比較簡單拟烫。

ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);

am.killBackgroundProcesses("cn.com.android123.cwj");? // API Level至少為8才能使用

5.? ? ? ? Dalvik VM

首先我們可以制造一個(gè)空指針的異常,比如TextView.setText方法中執(zhí)行一個(gè)int型的內(nèi)容迄本,由于setText方法重載了R.string.xxx這樣的資源int型內(nèi)容硕淑,但是我們沒有聲明這個(gè)資源,僅僅把String寫成了int的值嘉赎,就會(huì)產(chǎn)生一個(gè)異常置媳,這時(shí)系統(tǒng)Dalvik VM會(huì)直接關(guān)閉你的進(jìn)程,這招十分有效公条,CWJ一般平時(shí)不公布給大家拇囊。

6.? ? ? ? Thread.UncaughtExceptionHandler

但是有的網(wǎng)友說了,有Force Close的對(duì)話框怎么辦靶橱,其實(shí)我們通過重寫Android應(yīng)用程序的Application基類自己實(shí)現(xiàn)Thread.UncaughtExceptionHandler接口的uncaughtException方法是可以避免出現(xiàn)FC窗口的寥袭,用戶感覺直接退出了一樣

http://bbs.droidstouch.com/thread-1074-1-2.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末路捧,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子纠永,更是在濱河造成了極大的恐慌鬓长,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,080評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尝江,死亡現(xiàn)場離奇詭異涉波,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)炭序,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門啤覆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人惭聂,你說我怎么就攤上這事窗声。” “怎么了辜纲?”我有些...
    開封第一講書人閱讀 157,630評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵笨觅,是天一觀的道長。 經(jīng)常有香客問我耕腾,道長见剩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,554評(píng)論 1 284
  • 正文 為了忘掉前任扫俺,我火速辦了婚禮苍苞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘狼纬。我一直安慰自己羹呵,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,662評(píng)論 6 386
  • 文/花漫 我一把揭開白布疗琉。 她就那樣靜靜地躺著冈欢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪盈简。 梳的紋絲不亂的頭發(fā)上涛癌,一...
    開封第一講書人閱讀 49,856評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音送火,去河邊找鬼拳话。 笑死,一個(gè)胖子當(dāng)著我的面吹牛种吸,可吹牛的內(nèi)容都是我干的弃衍。 我是一名探鬼主播,決...
    沈念sama閱讀 39,014評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼坚俗,長吁一口氣:“原來是場噩夢啊……” “哼镜盯!你這毒婦竟也來了岸裙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,752評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤速缆,失蹤者是張志新(化名)和其女友劉穎降允,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體艺糜,經(jīng)...
    沈念sama閱讀 44,212評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡剧董,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,541評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了破停。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翅楼。...
    茶點(diǎn)故事閱讀 38,687評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖真慢,靈堂內(nèi)的尸體忽然破棺而出毅臊,到底是詐尸還是另有隱情,我是刑警寧澤黑界,帶...
    沈念sama閱讀 34,347評(píng)論 4 331
  • 正文 年R本政府宣布管嬉,位于F島的核電站,受9級(jí)特大地震影響朗鸠,放射性物質(zhì)發(fā)生泄漏宠蚂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,973評(píng)論 3 315
  • 文/蒙蒙 一童社、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧著隆,春花似錦扰楼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至浦辨,卻和暖如春蹬竖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背流酬。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評(píng)論 1 266
  • 我被黑心中介騙來泰國打工币厕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人芽腾。 一個(gè)月前我還...
    沈念sama閱讀 46,406評(píng)論 2 360
  • 正文 我出身青樓旦装,卻偏偏與公主長得像,于是被迫代替她去往敵國和親摊滔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子阴绢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,576評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容