Android完全退出应用程序

来源:互联网 发布:传神翻译软件 编辑:程序博客网 时间:2024/06/14 05:55

定义一个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();
}
});
}

}

原创粉丝点击