Android检测手机系统版本号、手机品牌工具类

来源:互联网 发布:雷电ol相似网络手游 编辑:程序博客网 时间:2024/04/29 13:53

检测手机的android系统版本号,检测当前手机是什么品牌,设备信息:

import android.content.Context;import android.content.pm.FeatureInfo;import android.content.pm.PackageManager;import android.content.res.Configuration;import android.os.Build;import android.util.TypedValue;import android.view.Display;import android.view.WindowManager;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;/** * 系统版本信息类 *  *  */public class DeviceUtils {    /** >=2.2 */    public static boolean hasFroyo() {        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO;    }    /** >=2.3 */    public static boolean hasGingerbread() {        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD;    }    /** >=3.0 LEVEL:11 */    public static boolean hasHoneycomb() {        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB;    }    /** >=3.1 */    public static boolean hasHoneycombMR1() {        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1;    }    /** >=4.0 14 */    public static boolean hasICS() {        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH;    }    /**     * >= 4.1 16     *     * @return     */    public static boolean hasJellyBean() {        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN;    }    /** >= 4.2 17 */    public static boolean hasJellyBeanMr1() {        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1;    }    /** >= 4.3 18 */    public static boolean hasJellyBeanMr2() {        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2;    }    /** >=4.4 19 */    public static boolean hasKitkat() {        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;    }    public static int getSDKVersionInt() {        return Build.VERSION.SDK_INT;    }    @SuppressWarnings("deprecation")    public static String getSDKVersion() {        return Build.VERSION.SDK;    }    /**     * 获得设备的固件版本号     */    public static String getReleaseVersion() {        return StringUtils.makeSafe(Build.VERSION.RELEASE);    }    /** 检测是否是中兴机器 */    public static boolean isZte() {        return getDeviceModel().toLowerCase().indexOf("zte") != -1;    }    /** 判断是否是三星的手机 */    public static boolean isSamsung() {        return getManufacturer().toLowerCase().indexOf("samsung") != -1;    }    /** 检测是否HTC手机 */    public static boolean isHTC() {        return getManufacturer().toLowerCase().indexOf("htc") != -1;    }    /**     * 检测当前设备是否是特定的设备     *     * @param devices     * @return     */    public static boolean isDevice(String... devices) {        String model = DeviceUtils.getDeviceModel();        if (devices != null && model != null) {            for (String device : devices) {                if (model.indexOf(device) != -1) {                    return true;                }            }        }        return false;    }    /**     * 获得设备型号     *     * @return     */    public static String getDeviceModel() {        return StringUtils.trim(Build.MODEL);    }    /** 获取厂商信息 */    public static String getManufacturer() {        return StringUtils.trim(Build.MANUFACTURER);    }    /**     * 判断是否是平板电脑     *     * @param context     * @return     */    public static boolean isTablet(Context context) {        return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE;    }    /**     * 检测是否是平板电脑     *     * @param context     * @return     */    public static boolean isHoneycombTablet(Context context) {        return hasHoneycomb() && isTablet(context);    }    public static int dipToPX(final Context ctx, float dip) {        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dip, ctx.getResources().getDisplayMetrics());    }    /**     * 获取CPU的信息     *     * @return     */    public static String getCpuInfo() {        String cpuInfo = "";        try {            if (new File("/proc/cpuinfo").exists()) {                FileReader fr = new FileReader("/proc/cpuinfo");                BufferedReader localBufferedReader = new BufferedReader(fr, 8192);                cpuInfo = localBufferedReader.readLine();                localBufferedReader.close();                if (cpuInfo != null) {                    cpuInfo = cpuInfo.split(":")[1].trim().split(" ")[0];                }            }        } catch (IOException e) {        } catch (Exception e) {        }        return cpuInfo;    }    /** 判断是否支持闪光灯 */    public static boolean isSupportCameraLedFlash(PackageManager pm) {        if (pm != null) {            FeatureInfo[] features = pm.getSystemAvailableFeatures();            if (features != null) {                for (FeatureInfo f : features) {                    if (f != null && PackageManager.FEATURE_CAMERA_FLASH.equals(f.name)) //判断设备是否支持闪光灯                        return true;                }            }        }        return false;    }    /** 检测设备是否支持相机 */    public static boolean isSupportCameraHardware(Context context) {        if (context != null && context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)) {            // this device has a camera            return true;        } else {            // no camera on this device            return false;        }    }    /** 获取屏幕宽度 */    @SuppressWarnings("deprecation")    public static int getScreenWidth(Context context) {        Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();        return display.getWidth();    }    @SuppressWarnings("deprecation")    public static int getScreenHeight(Context context) {        Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();        return display.getHeight();    }}
1 0