Android_Banner.jpg
简介
有时候我们需要判断App是处于前台还是后台,这样有利于我们处理一些业务
这里就说下如何判断App是处于前台还是后台
分别通过RunningTasks,RunningProcess 以及ActivityLifecycleCallbacks
实现
RunningTasks
private fun getTopApplication() {
//首先获取到ActivityManager
val activityManager = getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
if (activityManager.getRunningTasks(1) == null) {
Log.e(TAG, "getForegroundActivity: ")
return
}
var runningTaskInfo = activityManager.getRunningTasks(1)[0]
if (runningTaskInfo == null) {
Log.e(TAG, "runningTaskInfo is null")
return
}
runningTaskInfo.topActivity?.let {
Log.e(TAG, "top application is