界面操作類
public class FirstActivity extends Activity{
@Overrideprotected 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);
}
}
