判断当前应用是否启动/是否在前台

来源:互联网 发布:淘宝什么叫直通车 编辑:程序博客网 时间:2024/06/11 04:16
/**     *判断当前应用程序处于前台还是后台     */    public synchronized static boolean isAppInFront(final Context context) {        ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);        List<RunningTaskInfo> tasks = am.getRunningTasks(1);        if(am != null)        {            if (!tasks.isEmpty()) {                ComponentName topActivity = tasks.get(0).topActivity;                if (topActivity.getPackageName().equals("xxx.xxx.xxx")) {                    return true;                }            }        }        return false;    }    /**     *判断当前应用程序是否启动     */    public synchronized static boolean isApplicationRunning(final Context context,String apkname) {        if(TextUtils.isEmpty(apkname))        {            return false;        }        ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);        List<RunningTaskInfo> tasks = am.getRunningTasks(100);        if (tasks!= null && !tasks.isEmpty()) {            for (RunningTaskInfo info : tasks)             {                if (info.topActivity.getPackageName().equals(apkname) || info.baseActivity.getPackageName().equals(apkname))                 {                    return true;                }            }        }        return false;    }