package com.exam.utils;
import android.app.ActivityManager;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import java.util.Stack;
/**
* Created by 11291 on 2017/7/18.
*/
public class AppManager {
//定义栈堆,并且初始化
private static Stack<AppCompatActivity> stack = new Stack<>();
//定义静态方法
private static AppManager appManager;
//定义私有构造方法
private AppManager() {
}
public static AppManager getInstance() {//单例模式
if (appManager == null) {
appManager = new AppManager();
}
return appManager;
}
//添加一个Activity到栈堆
public void addActivity(AppCompatActivity activity) {
stack.add(activity);
}
//获取当前栈堆最后一个Activity
public AppCompatActivity getActivity() {
return stack.lastElement();
}
//结束当前Activity
public void removeCurrentActivity() {
stack.remove(stack.lastElement());
}
//结束指定的Activity
public void removeActivity(AppCompatActivity activity) {
stack.remove(activity);//从栈堆移除
activity.finish();//结束此Activity
}
//结束指定类名的Activity
public void removeActivity(Class<?> clazz) {
//遍历栈堆
for (AppCompatActivity activity : stack) {
if (activity.getClass().equals(clazz)) {
removeActivity(activity);
}
}
}
public void removeAllActivity() {
for (AppCompatActivity activity : stack) {
removeActivity(activity);
}
}
public void exitApp(Context context) {
removeAllActivity();
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
manager.restartPackage(context.getPackageName());
System.exit(0);
}
}
import android.app.ActivityManager;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import java.util.Stack;
/**
* Created by 11291 on 2017/7/18.
*/
public class AppManager {
//定义栈堆,并且初始化
private static Stack<AppCompatActivity> stack = new Stack<>();
//定义静态方法
private static AppManager appManager;
//定义私有构造方法
private AppManager() {
}
public static AppManager getInstance() {//单例模式
if (appManager == null) {
appManager = new AppManager();
}
return appManager;
}
//添加一个Activity到栈堆
public void addActivity(AppCompatActivity activity) {
stack.add(activity);
}
//获取当前栈堆最后一个Activity
public AppCompatActivity getActivity() {
return stack.lastElement();
}
//结束当前Activity
public void removeCurrentActivity() {
stack.remove(stack.lastElement());
}
//结束指定的Activity
public void removeActivity(AppCompatActivity activity) {
stack.remove(activity);//从栈堆移除
activity.finish();//结束此Activity
}
//结束指定类名的Activity
public void removeActivity(Class<?> clazz) {
//遍历栈堆
for (AppCompatActivity activity : stack) {
if (activity.getClass().equals(clazz)) {
removeActivity(activity);
}
}
}
public void removeAllActivity() {
for (AppCompatActivity activity : stack) {
removeActivity(activity);
}
}
public void exitApp(Context context) {
removeAllActivity();
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
manager.restartPackage(context.getPackageName());
System.exit(0);
}
}