您的位置:首页 > 移动开发

Android 判断app是否在前后台运行

2018-01-11 11:35 441 查看
有什么问题大家可以在交流群里面找我,552123831
QQ交流群。

在写代码的时候,很多时候,我们要做定时刷新,但是你按home键的时候,你的定时刷新有时候关不掉,所有我们需要判断程序是否在后台或者前台运行:

      if (Calculate.isBackground(Context)){

              //后台运行

           }else {

         //前台运行     

        }

public static boolean isBackground(Context context) {
ActivityManager activityManager = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager
.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.processName.equals(context.getPackageName())) {
if (appProcess.importance != ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
Log.i(context.getPackageName(), "后台"
+ appProcess.processName);
return true;
} else {
Log.i(context.getPackageName(), "前台"
+ appProcess.processName);
return false;
}
}
}
return false;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: