zoukankan      html  css  js  c++  java
  • android判断当前应用程序处于前台还是后台

         /**
         *判断当前应用程序处于前台还是后台
         *
         * @param context

         * @return   
         */
        public static boolean isApplicationBroughtToBackground(final Context context) {
            ActivityManager am = (ActivityManager) context.getSystemService  

    (Context.ACTIVITY_SERVICE);
            List<RunningTaskInfo> tasks = am.getRunningTasks(1);
            if (!tasks.isEmpty()) {
                ComponentName topActivity = tasks.get(0).topActivity;
                if (!topActivity.getPackageName().equals(context.getPackageName())) {
                    return true;
                }
            }
            return false;

        }
    上面这段代码是需要一个权限的:
    <uses-permission android:name="android.permission.GET_TASKS" /> 
     
    下面这段代码也可以判断,无需权限
     /**
     *
     * @param context
     * @return
     */
     public static boolean isBackground(Context context) {

      ActivityManager activityManager = (ActivityManager) context
        .getSystemService(Context.ACTIVITY_SERVICE);
      List<RunningAppProcessInfo> appProcesses = activityManager
        .getRunningAppProcesses();
      for (RunningAppProcessInfo appProcess : appProcesses) {
       if (appProcess.processName.equals(context.getPackageName())) {
        if (appProcess.importance ==

    RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
         Log.i(String.format("Background App:",
           appProcess.processName));
         return true;
        } else {
         Log.i(String.format("Foreground App:",
           appProcess.processName));
         return false;
        }
       }
      }
      return false;
     }

  • 相关阅读:
    [Silverlight]常见问题
    [C#]有趣的VS扩展DebuggerVisualizer
    [EF5.0CODE FIRST]多对一及自关联映射的处理
    自定义控件传值
    关于.Net中类型转换ToInt32
    SQL版整数转IP
    SQL2008 Merge关键字用法与简例
    SQL语句,同时返回结果集,输出参数的值及return值
    多线程与异步操作实现的探讨
    SQL Prompt4 破解版
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/3637702.html
Copyright © 2011-2022 走看看