android應用完全退出的方法 續

2021-06-21 02:28:19 字數 765 閱讀 8624

之前有寫過一篇android應用完全退出的方法,是在onpause()方法裡呼叫finish()去接收當前activity。這種方法試用範圍較狹窄,只能用於只包含乙個activity的應用。比如乙個應用中有兩個activity ,a和b,a是mainactivity。從a跳轉到b後,a中onpause被呼叫,由於onpause中新增了finish()方法,a的ondestroy被呼叫,然後呼叫killprocess,這樣整個應用就退出了,顯然是不能接受的。

改進的方法如下在a的onpause()方法中新增:

new thread(new runnable()  catch (interruptedexception e) 

"browseractivity","@@@@@@@3");

string pname = browseractivity.this.getpackagename();

activitymanager mactivitymanager = (activitymanager)getsystemservice(context.activity_service);

listtaskinfo = mactivitymanager.getrunningtasks(1);

if(taskinfo.size()>0)}}

}).start();

主要是新增乙個延時執行緒,通過runningtaskinfo獲取將要跳轉到的activity的包名,如果是同乙個包則正常跳轉,否則呼叫finish()方法,從而結束當前程序。

Android應用程式完全退出

使用單例模式建立乙個 activity 管理物件,該物件中有乙個 activity 容器 具體實現自己處理,使用 linkedlist 等 專門負責儲存新開啟的每乙個 activity 並且容易理解 易於操作,非常不錯!類 儲存每乙個 activity 並實現關閉所有 activity 的操作 1 ...

優雅的Android應用程式完全退出方案

網上有關應用程式完全退出有一堆的解決方案,大致歸類如下 1.任務管理器方法 activitymanager 2.android.os.process.killprocess。3.單例模式建立乙個activity管理物件,該物件中有乙個activity容器,每次新開啟一activity就加入到容器中,...

Android退出應用的方式

思路有這麼幾種 1.把啟動的activity都放入乙個棧中,當要退出應用的時候遍歷關閉 2.廣播方式,基類的activity中新增廣播接收器,接收到廣播就關閉activity,其他activity繼承這個activity,關閉時傳送廣播 3.廣播 singletask mainactivity啟動模...