Android 判断程序在前台运行还是后台运行

就简单的一个方法,就不用写什么步骤了:

public static boolean Frontdesk(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())) {
   Log.i(context.getPackageName(), "此appimportace ="
     + appProcess.importance
     + ",context.getClass().getName()="
     + context.getClass().getName());
   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;
}

在需要的地方调用Frontdesk(context)方法即可

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。