判断进程是否存在、Activity是否在前台显示

来源:互联网 发布:阿里云ecs绑定几个域名 编辑:程序博客网 时间:2024/06/06 02:57

1、判断进程是否存在

        /**         * 判断某个进程是否存在         *          * @param packageName         *            包名(进程名称)         */        private boolean isProcessExists(String packageName) {            if (TextUtils.isEmpty(packageName)) {                return false;            }            boolean isOk = false;            ActivityManager am = (ActivityManager) MyApplication.getMyApplication().getSystemService(                    Context.ACTIVITY_SERVICE);            List<RunningAppProcessInfo> list = am.getRunningAppProcesses();            for (RunningAppProcessInfo appProcess : list) {                if (appProcess.processName.equals(packageName)) {                    isOk = true;                }            }            return isOk;        }    }

2、判断Activity是否在前台显示

    /**     * 判断某个界面是否在前台     *      * @param className     *            activity全路径名     */    private boolean isActivityForeground(String className) {        if (TextUtils.isEmpty(className)) {            return false;        }        ActivityManager am = (ActivityManager) MyApplication.getMyApplication().getSystemService(                Context.ACTIVITY_SERVICE);        List<RunningTaskInfo> list = am.getRunningTasks(1);        if (list != null && list.size() > 0) {            ComponentName cpn = list.get(0).topActivity;            if (className.equals(cpn.getClassName())) {                return true;            }        }        return false;    } 
原创粉丝点击