1. 程式人生 > >Android 安全退出應用程序的方法總結

Android 安全退出應用程序的方法總結

edi OS 使用 當前 roi clas 方法總結 三種 miss

正常關閉應用程序:

當應用不再使用時,通常需要關閉應用,可以使用以下三種方法關閉android應用:

第一種方法:首先獲取當前進程的id,然後殺死該進程。

android.os.Process.killProcess(android.os.Process.myPid())  

通過這種方式不能將應用程序完全殺死,並且他不會把當前應用應用的Activity的task任務棧清空

第二種方法:終止當前正在運行的Java虛擬機,導致程序終止

System.exit(0);  

不會把自己的應用程序殺死

第三種方法:強制關閉與該包有關聯的一切執行

ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);    
manager.restartPackage(getPackageName());  
<uses-permission android:name="android.permission.RESTART_PACKAGES" /> 

只能殺死別人,不能殺死自己


企業中做法:

創建類app 繼承Application

AndroidMainfest -->name -->app //
聲明該類為整個應用程序全局的實例

添加android:name=".全局實例App"

創建整個應用程序全局的實例

App.class:  
ArrayList<Activity> activities;

其他的Activity中:

public void onCreate(Bundle savedInstanceState) {  
    App app = (App) getApplication();//獲取應用程序全局的實例引用  
    app.activities.add(this);  //把當前Activity放入集合中  
} public void onDestory(){ App app = (App) getApplication();//獲取應用程序全局的實例引用 app.activities.remove(this); //把當前Activity從集合中移除 }

安全退出:

在菜單退出按鈕的事件中定義如下代碼:

App app = (App) getApplication();  
List<Activity> activities = app.activities;  
for(Activity act:activities){  
 act.finish();//顯式結束  
}  

Android 安全退出應用程序的方法總結