怎样一键退出一个android应用呢?
在网上看了很多,我这里就记录一个最常用的,也最容易理解的一种方法:全局记录打开的Activity
1.首先,自定义一个Application
public class myApplication extends Application {
private static myApplication mApplication;
// Activity的一个List
public ArrayList<Activity> activityList;
@Override
public void onCreate() {
super.onCreate();
mApplication = this;
}
// 得到Application
public static myApplication getApp() {
if (mApplication == null) {
mApplication = new myApplication();
}
return mApplication;
}
// 记录打开的Activity
public void addActivity(Activity acitivity) {
if (activityList == null) {
activityList = new ArrayList<Activity>();
}
activityList.add(acitivity);
}
// 清楚记录的Activity
public void clearActivity() {
activityList.clear();
}
// 退出整个应用
public void exit() {
for (Activity activity : activityList) {
activity.finish();
}
clearActivity();// 清楚所有的Activity
System.exit(0);
}
}
2.在manifest中配置Application
<application
android:name="包名路径.myApplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
3.在每一个Activity中的onCreate中调用addActivity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_step);
initView();
myApplication.getApp().addActivity(this);
}
4.调用exit
public void onClick(View v) {
myApplication.getApp().exit();
}