Android完全退出應(yīng)用程序的方法
本文實(shí)例講述了Android完全退出應(yīng)用程序的方法。分享給大家供大家參考。具體如下:
在Android中,如果想退出Android程序,一般都是調(diào)用finish()、System.exit(0)、android.os.Process.killProcess(android.os.Process.myPid())等方法來實(shí)現(xiàn)退出程序功能,可是在實(shí)際開發(fā)中,并不能達(dá)到完全退出應(yīng)用程序的效果,這是因?yàn)檎{(diào)用finish()、System.exit(0)、android.os.Process.killProcess(android.os.Process.myPid())只能殺死當(dāng)前的activity,并不能殺死所有的activity,為了完美達(dá)到此效果,接下來通過一個(gè)案例實(shí)現(xiàn):
一、使用單例模式創(chuàng)建一個(gè)Activity管理對(duì)象,該對(duì)象中有一個(gè)Activity容器(具體實(shí)現(xiàn)自己處理,使用LinkedList等)專門負(fù)責(zé)存儲(chǔ)新開啟的每一個(gè)Activity,并且容易理解、易于操作,非常不錯(cuò)!
MyApplication類(儲(chǔ)存每一個(gè)Activity,并實(shí)現(xiàn)關(guān)閉所有Activity的操作
package com.hrtx.dd.activity; import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.app.Application; public class MyApplication extends Application { private List<Activity> activitys = null; private static MyApplication instance; private MyApplication() { activitys = new LinkedList<Activity>(); } /** * 單例模式中獲取唯一的MyApplication實(shí)例 * * @return */ public static MyApplication getInstance() { if (null == instance) { instance = new MyApplication(); } return instance; } // 添加Activity到容器中 public void addActivity(Activity activity) { if (activitys != null && activitys.size() > 0) { if(!activitys.contains(activity)){ activitys.add(activity); } }else{ activitys.add(activity); } } // 遍歷所有Activity并finish public void exit() { if (activitys != null && activitys.size() > 0) { for (Activity activity : activitys) { activity.finish(); } } System.exit(0); } }
二、在每一個(gè)Activity中的onCreate方法里添加該Activity到MyApplication對(duì)象實(shí)例容器中
三、在需要結(jié)束所有Activity的時(shí)候調(diào)用exit方法
希望本文所述對(duì)大家的Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android 利用 APT 技術(shù)在編譯期生成代碼
本文主要講解Android 利用 APT 技術(shù)在編譯期生成代碼,這里提供詳細(xì)的資料,并講解如何實(shí)現(xiàn),有興趣的小伙伴可以參考下2016-08-08Android下錄制App操作生成Gif動(dòng)態(tài)圖的全過程
這篇文章主要為大家分享了Android下錄制App操作生成Gif動(dòng)態(tài)圖的全過程,感興趣的小伙伴們可以參考一下2016-01-01Android直播軟件搭建之實(shí)現(xiàn)背景顏色滑動(dòng)漸變效果的詳細(xì)代碼
這篇文章主要介紹了Android直播軟件搭建之實(shí)現(xiàn)背景顏色滑動(dòng)漸變效果的詳細(xì)代碼,代碼簡單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09android notification 的總結(jié)分析
notification是一種出現(xiàn)在任務(wù)欄的提示,特別是在4.0以后notification改進(jìn)了不少,本文內(nèi)容都是基于4.0及4.1以后總結(jié)來的2013-05-05Android實(shí)現(xiàn)獲取簽名及公鑰的方法
這篇文章主要介紹了Android實(shí)現(xiàn)獲取簽名及公鑰的方法,可實(shí)現(xiàn)Android通過包名獲取相關(guān)簽名及公鑰的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10Android Studio 3.1.X中導(dǎo)入項(xiàng)目的正確方法分享
這篇文章主要給大家介紹了關(guān)于Android Studio 3.1.X中導(dǎo)入項(xiàng)目的正確方法,文中一步步將解決的方法以及可能遇到的問題介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07