package com.sw.dualscreen.utils import android.app.Activity import android.os.Process import java.util.Stack object ActivityManager { private val activityStack = Stack() // 添加Activity到栈 fun addActivity(activity: Activity) { activityStack.add(activity) } // 移除指定Activity fun removeActivity(activity: Activity) { activityStack.remove(activity) } // 获取当前Activity fun currentActivity(): Activity? { return if (activityStack.isEmpty()) null else activityStack.lastElement() } // 结束指定Activity fun finishActivity(activity: Activity) { if (!activity.isFinishing) { activity.finish() } } // 结束所有Activity fun finishAllActivity() { activityStack.forEach { if (!it.isFinishing) { it.finish() } } activityStack.clear() } // 退出应用程序 fun exitApp() { finishAllActivity() Process.killProcess(Process.myPid()) } fun getActivityStack(): Stack{ return activityStack } fun isEmpty() : Boolean { return activityStack.isEmpty() } }