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 "";
}
}