Android工具类篇 检测手机系统版本号手机品牌工具类
Posted 彭老希
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
}
}
以上是关于Android工具类篇 检测手机系统版本号手机品牌工具类的主要内容,如果未能解决你的问题,请参考以下文章