您的位置:首页 > 移动开发 > Android开发

android Activity管理类之退出程序

2013-12-16 20:15 369 查看
android 从开始到现在在,退出程序的方法多种多样,部分方法只适合某些版本,所以根据版本特性来选择合适的退出Activity的方法。

最近在项目当中遇到了完全退出程序的问题。总想找一种比较漂亮的方式来实现。最终发现可以利用Stack来管理所有的Activity。

Activity管理类,与android自身管理类没有关系哈

import java.util.Stack;

import android.app.Activity;

public class ActivityManager {

private static Stack<Activity> activityStack;
private static ActivityManager instance;
private ActivityManager(){

}
public static ActivityManager getScreenManager(){
if(instance==null){
instance = new ActivityManager();
}
return instance;
}
//退出栈顶
public void popActivity(Activity activity){
if(activity != null){
activity.finish();
activityStack.remove(activity);
activity=null;
}
}
//获得当前栈顶
public Activity currentActivity(){
Activity activity = null;
if(!activityStack.empty()){
activity = activityStack.lastElement();
}
return activity;
}
//当前Activity推入栈中
public void pushActivity(Activity activity){
if(activityStack == null){
activityStack = new Stack<Activity>();
}
activityStack.add(activity);
}
//退出所有Activity
public void popAllActivityExceptionOne(){
while(true){
Activity activity = currentActivity();
if(activity == null){
break;
}
if(activity.getClass().equals(cls)){
break;
}
popActivity(activity);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: