网上也有人写在继承Application的类里调用onTerminate()方法遍历activity退出,但是api写的很清楚
public void onTerminate ()
/**Since: API Level 1
*This method is for use in emulated process environments. It will never be
*called on a production Android device, where processes are removed by simply
*killing them; no user code (including this callback) is executed when doing so.
*/
这种方法只能存在于模拟器中,在真机环境中不会被调用。自己可以用一个静态的list来管理Activity
public static List<Activity> activities=new ArrayList<Activity>();
当Activity onCreate的时候将所有Activity 添加到activities中,当退出时调用exitApp()方法再遍历循环finish所有activity,一样达到完全退出程序的效果
public static void exitApp(){
for(int i=0;i<AllConstant.activities.size();i++){
if(AllConstant.activities.get(i)!=null){
AllConstant.activities.get(i).finish();
System.out.println(AllConstant.activities.get(i)+"-->out");
}
}
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
}