/**
* 判断应用是否是在后台
*/
public static boolean isBackground() {
ActivityManager activityManager = (ActivityManager) MoreThanApplication.getApp().getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> tasks = activityManager.getRunningTasks(1);
if (tasks == null)
return true;
ComponentName topActivity = tasks.get(0).topActivity;
if (!MoreThanApplication.getApp().getApplicationContext().getPackageName()
.equals(topActivity.getPackageName()))
return true;
KeyguardManager keyguardManager = (KeyguardManager) MoreThanApplication.getApp().getSystemService(KEYGUARD_SERVICE);
List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
if (TextUtils.equals(appProcess.processName, MoreThanApplication.getApp().getPackageName())) {
boolean isBackground = (appProcess.importance
!= ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND
&& appProcess.importance
!= ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE);
boolean isLockedState = keyguardManager.inKeyguardRestrictedInputMode();
return isBackground || isLockedState;
}
}
return false;
}
App 判断后台稳妥的方法
最新推荐文章于 2021-05-27 04:35:28 发布