This commit is contained in:
2025-11-18 15:12:24 +08:00
parent c173c425ce
commit a7d2035e70
1361 changed files with 367452 additions and 0 deletions
@@ -0,0 +1,154 @@
package cn.shangyu.gdxzExpert.base;
import android.app.Activity;
import android.app.ActivityManager;
import android.content.Context;
import java.util.Stack;
public class AppManager {
private static Stack<Activity> activityStack;
private static AppManager instance;
private static Stack<Activity> activityStack1;
private static Stack<Activity> activityStack2;
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 void addActivity1(Activity activity){
if(activityStack1==null){
activityStack1=new Stack<Activity>();
}
activityStack1.add(activity);
}
/**
* 添加一问多答Activity到堆
*/
public void addActivity2(Activity activity){
if(activityStack2==null){
activityStack2=new Stack<Activity>();
}
activityStack2.add(activity);
}
/**
* 结束所有积分Activity
*/
public void finishAllActivity1(){
if (activityStack1!=null) {
for (int i = 0, size = activityStack1.size(); i < size; i++){
if (null != activityStack1.get(i)){
activityStack1.get(i).finish();
}
}
activityStack1.clear();
}
// android.os.Process.killProcess(android.os.Process.myPid());
}
/**
* 结束所有一问多答Activity
*/
public void finishAllActivity2(){
if (activityStack2!=null) {
for (int i = 0, size = activityStack2.size(); i < size; i++){
if (null != activityStack2.get(i)){
activityStack2.get(i).finish();
}
}
activityStack2.clear();
}
}
/**
* 获取当前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!=null){
activityStack.remove(activity);
activity.finish();
activity=null;
}
}
/**
* 结束指定的Activity
*/
public void finishActivity2(Activity activity){
if(activity!=null){
activityStack2.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();
android.os.Process.killProcess(android.os.Process.myPid());
}
/**
* 退出应用程序
*/
public void AppExit(Context context) {
try {
finishAllActivity();
ActivityManager activityMgr= (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
// activityMgr.restartPackage(context.getPackageName());
activityMgr.killBackgroundProcesses(context.getPackageName());
System.exit(0);
android.os.Process.killProcess(android.os.Process.myPid());
} catch (Exception e) { }
}
}