android中Activity的管理及程序的退出


界面操作類

public class FirstActivity extends Activity{  

@Override  
protected void onCreate(Bundle savedInstanceState) {  
// TODO Auto-generated method stub  
super.onCreate(savedInstanceState);  
setContentView(R.layout.c);  
Button exit_c=(Button)findViewById(R.id.exit_c);  
exit_c.setOnClickListener(exitClick);  
ExitApplication.getInstance().addActivity(this);  
}  
OnClickListener exitClick=new OnClickListener() {  
@Override  
public void onClick(View v) {  
// TODO Auto-generated method stub  
ExitApplication.getInstance().exit();  
//如果程序當中有多個Activity,在非首個Activity中調用以下其中的一個方法,
//則並不會完全退出應用,而是返回前一個Activity  
//android.os.Process.killProcess(android.os.Process.myPid());  
//System.exit(0);  
}  
};  

}

單例管理類

package com.exit.demo;

import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;

public class ExitApplication extends Application {
private List<Activity> activityList = new LinkedList<Activity>();
private static ExitApplication instance;
private ExitApplication() {
}
// 單例模式中獲取唯一的ExitApplication實例
public static ExitApplication getInstance() {
if (null == instance) {
instance = new ExitApplication();
}
return instance;
}
// 添加Activity到容器中
public void addActivity(Activity activity) {
activityList.add(activity);
}
// 遍歷所有Activity並finish
public void exit() {
for (Activity activity : activityList) {
activity.finish();
}
System.exit(0);
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM