您的位置:首页 > 移动开发 > Android开发

Android完全退出应用程序

2013-08-13 14:44 246 查看
定义一个Application类,利用单例模式管理Activity,在每个在Activity的onCreate()方法中调用Application.getInstance().addActivity(this)方法,在退出时调用Application.getInstance().exit()方法,就可以完全退出应用程序了。

例如下面所示,为在第三个Activity中退出应用程序:

Application类:

import java.util.LinkedList;

import java.util.List;

import android.app.Activity;

import android.app.Application;

public class MyApplication extends Application {

private static
MyApplication sInstance;
private List<Activity> mActivityList = new LinkedList<Activity>();

public static MyApplication getInstance() {
if (sInstance == null) {
sInstance = new MyApplication();
}
return sInstance;
}

public void addActivity(Activity activity) {
mActivityList.add(activity);
}

public void exit() {
for (Activity activity : mActivityList) {
activity.finish();
}
System.exit(0);
}

}

FirstActivity:

public class FirstActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);

MyApplication.getInstance().addActivity(this);
}

}

SecondActivity:

public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);

MyApplication.getInstance().addActivity(this);
}

}

ThirdActivity:

public class ThirdActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_third);

MyApplication.getInstance().addActivity(this);

Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SetupWizardApplication.getInstance().exit();
}
});
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息