Android下結束程序的方法

2021-08-25 23:22:29 字數 1653 閱讀 5785

最近在做乙個類似與任務管理器的東西,裡面有個功能,可以通過這個管理器結束掉其他的程序。

在android

平 台下,結束程序的方法還是比較多的。首先指明,此處的「結束程序」,包含了結束自身程序和結束其他程序兩個方面。通過查閱sdk文件和網上的一些資料,自 己找到一些結束程序的方法。在這裡做一些歸納和總結,文章的部分資訊有可能來自網上已有的文章和帖子,由於過了比較長時間,所以若發現本文與其他文章雷 同,請諒解。

一、結束乙個活動activity

要主動的結束乙個活動activity,(先強調一下,是結束乙個活動,而不是程序)眾所周知,肯定是finish方法啦,這個就毋庸置疑了,而且這 個方法最後會呼叫activity的生命週期函式ondestroy方法,結束當前的activity,從任務棧中彈出當前的activity,啟用下一 個activity。當然其他的finish系列方法,我們不在這裡做詳細討論,有興趣的同學可以自己查閱一下sdk 的文件。

二、強制結束當前的程序

強行結束當前程序有兩個方法。(呵呵,這裡就是結束程序了)

1、killprocess(int pid)

例子:android.os.process.killprocess(android.os.process.mypid());

對於這個方法,需要詳細解釋一下。在sdk的文件中,解釋如下:

英語不好,不能準確翻譯,所以希望大家自己理解,免得對大家造成誤解。我個人對這句話的解釋就是,這個方法使用是有條件的:

a、將被殺掉的程序 和 當前程序 處於同乙個包或者應用程式中;

b、將被殺掉的程序 是由當前應用程式所建立的附加程序;

c、將被殺掉的程序 和 當前程序 共享了普通使用者的uid。(這裡的普通使用者,是相對於root許可權的使用者來說的)

2、system.exit(int code)             例子:system.exit(0);

該方法只能用於結束當前程序自身,個人覺得在程式遇到異常,無法正常執行時,可以通過這個方法強制退出。

需要注意的是,這兩個方法,會導致程序非正常退出,就是說,程序退出時不會去執行onpause、onstop和ondestroy方法,那麼程序很有可能錯過了儲存資料的機會。因此,這兩個方法最好使用在出現異常的時候!

三、結束另乙個程序

要通過乙個程序去結束另乙個程序。在之前的sdk版本中,一直使用方法restartpackage(packagename)方法,但是在android

的開發void killbackgroundprocesses(string packagename)

由於這個方法沒有返回值,所以我們也不知道我們的目標程序是否真的退出了。但是,我目前只發現了這個可以結束另乙個程序的方法。

四、退出到主螢幕(記得是對當前程序的處理)

這個方法,也是退出當前程序的乙個方法。如果我們在程序中建立了很多的activity,但是又不想關閉時去退出不在任務棧頂的activity,那麼就可以直接使用這個方法了。這個方法是通過查閱網上資料看到的。 】

功能:當按下返回鍵時,就返回到主螢幕,並帶有引數flag_activity_clear_top,會清理掉當前的活動。

@override

public boolean onkeydown(int keycode, keyevent event)

return super.onkeydown(keycode, event);  }

Android下結束程序的方法

一 結束乙個活動activity 要主動的結束乙個活動activity,使用finish方法,而且這個方法最後會呼叫activity的生命週期函式ondestroy方法,結束當前的activity,從任務棧中彈出當前的activity,啟用下乙個activity。當然其他的finish系列方法,我們...

Android結束程序

1 自己結束自己 this.finish 2 killprocess int pid 例子 system.exit 0 該方法只能用於結束當前程序自身,個人覺得在程式遇到異常,無法正常執行時,可以通過這個方法強制退出。需要注意的是,這兩個方法,會導致程序非正常退出,就是說,程序退出時不會去執行onp...

結束普通方法無法結束的程序

ntsd c q p pid ntsd c q pn pname 兩種方法 一種是使用程序的id號,將pid換成對應程序id號即可 一種是使用程序的名稱,將pname換成對應的exe名字即可,比如notepad.exe 為了方便,寫了個批處理,將該批處理和ntsd放在一起,使用時執行批處理,選擇對應...