用于Activity管理和应用程序退出
2017-02-27 22:00
211 查看
一、工具类
public class AppManager {
private static Stack<Activity> activityStack;
private static AppManager instance;
private AppManager(){}
/**
* 单一实例
*/
public static AppManager getAppManager(){
if(instance==null){
instance=new AppManager();
}
return instance;
}
/**
* 添加Activity到堆栈
*/
public void addActivity(Activity activity){
if(activityStack==null){
activityStack=new Stack<Activity>();
}
activityStack.add(activity);
}
/**
* 获取当前Activity(堆栈中最后一个压入的)
*/
public Activity currentActivity(){
Activity activity=activityStack.lastElement();
return activity;
}
/**
* 结束当前Activity(堆栈中最后一个压入的)
*/
public void finishActivity(){
Activity activity=activityStack.lastElement();
finishActivity(activity);
}
/**
* 结束指定的Activity
*/
public void finishActivity(Activity activity){
if(activity!=null){
activityStack.remove(activity);
activity.finish();
activity=null;
}
}
/**
* 结束指定类名的Activity
*/
public void finishActivity(Class<?> cls){
for (Activity activity : activityStack)
{
if(activity.getClass().equals(cls) ){
finishActivity(activity);
}
}
}
/**
* 结束所有Activity
*/
public void finishAllActivity(){
for (int i
= 0, size = activityStack.size();
i < size; i++){
if (null != activityStack.get(i)){
activityStack.get(i).finish();
}
}
activityStack.clear();
}
/**
* 退出应用程序
*/
public void AppExit(Context context) {
try {
finishAllActivity();
ActivityManager activityMgr= (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
activityMgr.restartPackage(context.getPackageName());
System.exit(0);
} catch (Exc
9803
eption e) { }
}
}二、使用
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO: add setContentView(...)
invocation
ButterKnife.bind(this);
AppManager.getAppManager().addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
AppManager.getAppManager().finishActivity(this);
}//关闭
AppManager.getAppManager().finishAllActivity();
相关文章推荐
- Activity管理类,用于Activity管理和应用程序退出
- 应用程序Activity管理类:用于Activity管理和应用程序退出
- Android 应用程序Activity管理类:用于Activity管理和应用程序退出
- 用于Activity管理和应用程序退出
- 通用于Activity管理和应用程序退出
- Activity管理和应用程序的退出(推荐使用stack)
- Activity管理类:用于管理Activity和退出程序
- Android 应用程序退出和Activity的管理
- AppManager 用于管理activity和退出机制
- 管理activity 完全退出应用程序
- Activity管理和应用程序的退出(推荐使用stack)
- android中Activity的管理及程序的退出
- 一种完全退出应用程序的方法,结束所有的Activity 和服务
- android-管理activity,随时随地退出Activity
- android 完美退出APP的实例代码(管理activity)
- 笔记:安卓完全退出应用程序出现闪退、返回上一个activity的问题
- Android Activity管理类,管理Activity和退出应用
- 网络电台研究(2)自定义Application、BaseActivity管理统计数据、程序状态、应用程序完全退出
- 退出整个应用程序 以及 利用intent标志跳转到某个Activity
- Android退出一个多Activity应用程序的方法