申明一个静态变量 public static ScreenManger screenManger =ScreenManger.getScreenManger();
申明一个类 ScreenManger ;
然后在每个Activity的oncreat()中调用
/**将当前activity 加如程序管理栈**/
GlobeVriable.screenManger.pushactivity(this);
ScreenManger 代码如下:
import java.util.Stack;
import android.app.Activity;
public class ScreenManger {
private static Stack activitystack;
private static ScreenManger intance;
public static ScreenManger getScreenManger() {
intance = new ScreenManger();
activitystack = new Stack();
return intance;
}
// 退出栈顶activity
public void popactivity(Activity activity) {
activity.finish();
activitystack.remove(activity);
activity = null;
}
// 获得当前栈顶activity
public Activity currentactivity() {
if (activitystack.empty()) {
return null;
}else{
Activity activity = (Activity) activitystack.lastElement();
return activity;
}
}
// 将当前activity推入栈中
public void pushactivity(Activity activity) {
activitystack.add(activity);
}
public void popallactivityexceptone() {
boolean exit=false;
while (!exit) {
System.out.println("exit app");
Activity activity = currentactivity();
if (activity!=null) {
exit=false;
popactivity(activity);
}else{
exit=true;
}
}
}
}