展会信息港展会大全

android Activity管理类之退出程序
来源:互联网   发布日期:2016-01-14 10:28:44   浏览:875次  

导读:android 从开始到现在在,退出程序的方法多种多样,部分方法只适合某些版本,所以根据版本特性来选择合适的退出Activity的方法。最近在项目当中遇到了完全退出程序的问题。总想找一种比较...

android 从开始到现在在,退出程序的方法多种多样,部分方法只适合某些版本,所以根据版本特性来选择合适的退出Activity的方法。

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

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

import java.util.Stack;

import android.app.Activity;

public class ActivityManager {

private static Stack 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();

}

activityStack.add(activity);

}

//退出所有Activity

public void popAllActivityExceptionOne(){

while(true){

Activity activity = currentActivity();

if(activity == null){

break;

}

if(activity.getClass().equals(cls)){

break;

}

popActivity(activity);

}

}

}

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港