1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package com.cooleshow.base.common
- import android.app.Activity
- import android.app.ActivityManager
- import android.content.Context
- import java.util.*
- /*
- Activity管理器
- */
- class AppManager private constructor(){
- private val activityStack:Stack<Activity> = Stack()
- companion object {
- val instance:AppManager by lazy { AppManager() }
- }
- /*
- Activity入栈
- */
- fun addActivity(activity: Activity){
- activityStack.add(activity)
- }
- /*
- Activity出栈
- */
- fun finishActivity(activity: Activity){
- activity.finish()
- activityStack.remove(activity)
- }
- /*
- 获取当前栈顶
- */
- fun currentActivity():Activity{
- return activityStack.lastElement()
- }
- /*
- 清理栈
- */
- fun finishAllActivity(){
- for (activity in activityStack){
- activity.finish()
- }
- activityStack.clear()
- }
- /*
- 退出应用程序
- */
- fun exitApp(context:Context){
- finishAllActivity()
- val activityManager = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
- activityManager.killBackgroundProcesses(context.packageName)
- System.exit(0)
- }
- /**
- * 结束当前Activity(堆栈中最后一个压入的)
- */
- fun getTopActivity(): Activity? {
- var activity: Activity? = null
- if (activityStack!= null && !activityStack.isEmpty()) {
- activity = activityStack.lastElement()
- }
- return activity
- }
- }
|