项目地址:https://github.com/libill/myapplication
利用android的wheel和参考android完美退出程序做出来的demo,结束掉所有打开的Activity,并把记录打开的Activity用log打印出来。
1、myapplication继承application
package kankan.wheel.demo; import java.util.LinkedList;
import java.util.List; import android.app.Activity;
import android.app.Application;
import android.util.Log; public class MyApplication extends Application { private static List<Activity> activityList = new LinkedList<Activity>();
private static MyApplication instance; public MyApplication() {
} // 单例模式中获取唯一的MyApplication实例
public static MyApplication getInstance() {
if (null == instance) {
instance = new MyApplication();
}
return instance;
} // 添加Activity到容器中
public void addActivity(Activity activity) {
activityList.add(activity);
} // 遍历所有Activity并finish
public void exit() {
for (Activity activity : activityList) {
RLog.i("-aa_aa-", "destroy all activity: " + activity.toString() + " !!!");
activity.finish();
}
System.exit(0);
}
}
2、每一个Activity中的onCreate方法里添加该Activity到MyApplication对象的activityList
MyApplication.getInstance().addActivity(this);
3、结束所有Activity的时候调用exit方法
public void onBackPressed() {
MyApplication myApplication = (MyApplication) WheelDemo.this
.getApplication();
Log.i("exit app:", "exit ok!");
myApplication.exit();
}