常用的工具类及方法(不断更新)

来源:互联网 发布:盆景制作软件 编辑:程序博客网 时间:2024/06/05 23:03

- 判断程序是否退到后台

    /**     * 程序是否退到后台     * @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_FOREGROUND) {                    return true;                } else {                    return false;                }            }        }        return true;    }

- 获取屏幕相关参数

    /**     * 获取屏幕分辨率     * @param context     * @return     */    public static int[] getScreenDisplay(Context context){        DisplayMetrics dm = new DisplayMetrics();        ((Activity)context).getWindowManager().getDefaultDisplay().getMetrics(dm);        int result[] = {dm.widthPixels,dm.heightPixels};        return result;    }    /**     * 获取屏幕宽度     * @param context     * @return     */    public static int getWidth(Context context){        int result[] = getScreenDisplay(context);        return result[0];    }    /**     * 获取屏幕宽度     * @param context     * @return     */    public static int getHeight(Context context){        int result[] = getScreenDisplay(context);        return result[1];    }    /**     * 获取屏幕的原始高度(屏幕有虚拟按键时包含虚拟按键的高度)     * @param context     * @return     */    public static int getScreenDpi(Context context){        int dpi = 0;        Display display = ((Activity)context).getWindowManager().getDefaultDisplay();        DisplayMetrics dm = new DisplayMetrics();        @SuppressWarnings("rawtypes")        Class c;        try {            c = Class.forName("android.view.Display");            @SuppressWarnings("unchecked")            Method method = c.getMethod("getRealMetrics", DisplayMetrics.class);            method.invoke(display, dm);            dpi = dm.heightPixels;        } catch (Exception e) {            e.printStackTrace();        }        return dpi;    }    /**     * 获取状态栏高度     * @param context     * @return     */    public static int getStatusBarHeight(Context context){        Rect rect  = new Rect();        ((Activity)context).getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);        int statusHeight = rect.top;//状态栏高度        int bottomHeight = rect.bottom;//底部高度        return statusHeight;    }    /**     * dp转像素     * @param context     * @param dpValue     * @return     */    public static int dip2px(Context context , float dpValue){        float scale = context.getResources().getDisplayMetrics().density;        return (int) (scale * dpValue + 0.5f);    }    /**     * 屏幕是否锁屏     * @param context     * @return      * true 屏幕处于解锁状态或锁屏状态     * flase 目前未锁屏     */    public static boolean isRestricted(Context context){        KeyguardManager mKeyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);        return mKeyguardManager.inKeyguardRestrictedInputMode();    }
0 0
原创粉丝点击