package com.yuzhi.fine.utils; import android.app.Activity; import android.content.Context; import android.telephony.TelephonyManager; import android.util.DisplayMetrics; /** * Created by tiansj on 14/12/30. */ public class DeviceUtil { /** * 根据手机的分辨率从 px(像素) 的单位 转成为 dp */ public static int px2dp(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); } /** * 根据手机的分辨率从 px(像素) 的单位 转成为 sp,字体的转换 */ public static int px2sp(Context context, float pxValue) { final float fontScale = context.getResources().getDisplayMetrics().scaledDensity; return (int) (pxValue / fontScale + 0.5f); } /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dp2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } /** * 获取DisplayMetrics,包括屏幕高宽,密度等 * @param context * @return */ public static DisplayMetrics getDisplayMetrics(Activity context) { DisplayMetrics dm = new DisplayMetrics(); context.getWindowManager().getDefaultDisplay().getMetrics(dm); return dm; } /** * 获得屏幕宽度 px * @param context * @return */ public static int getWidth(Activity context) { DisplayMetrics dm = new DisplayMetrics(); context.getWindowManager().getDefaultDisplay().getMetrics(dm); return dm.widthPixels; } /** * 获得屏幕高度 px * @param context * @return */ public static int getHeight(Activity context) { DisplayMetrics dm = new DisplayMetrics(); context.getWindowManager().getDefaultDisplay().getMetrics(dm); return dm.heightPixels; } public static String getIMSI(Context context) { try { if (context == null) { return ""; } TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); return telephonyManager.getSubscriberId(); } catch (Exception exception1) { } return ""; } public static String getIMEI(Context context) { try { if (context == null) { return ""; } TelephonyManager telephonyManager = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); String imei = telephonyManager.getDeviceId(); if (imei != null && !imei.equals("")) { return imei; } } catch (Exception exception1) { } return ""; } public static String getDeviceId(Context context) { try { String strIMEI = getIMEI(context); if (strIMEI == null || strIMEI.equals("")) { strIMEI = getIMSI(context); if (strIMEI == null || strIMEI.equals("")) { return ""; } } String strTemp = strIMEI + strIMEI + strIMEI; String strMd5 = MiscUtil.getMD5(strTemp.getBytes()); return strMd5; } catch (Exception exception1) { } return ""; } }