(1)获取屏幕相关信息
DisplayMetrics metric = new DisplayMetrics();
// getWindowManager().getDefaultDisplay().getMetrics(metric);
metric = this.getResources().getDisplayMetrics();// 这行代码可以用在自定义view中,比上面的代码适用范围广
int width = metric.widthPixels;// 屏幕宽度
int height = metric.heightPixels;// 屏幕高度
float density = metric.density;// 屏幕密度(0.75/1.0/1.5/2.0/3.0)
int densityDpi = metric.densityDpi;// 屏幕密度Dpi(120/160/240/320/480)
顺便说下屏幕适dp2px和px2dp
public class DensityUtil {
/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/
public static float dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return dpValue * scale;
}
/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
*/
public static float px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return pxValue / scale;
}
}
(2)获获取状态栏高度
public int getStatusBarHeight() {
int result = 0;
int resourceId = getResources().getIdentifier("status_bar_height",
"dimen", "android");
if (resourceId > 0) {
result = getResources().getDimensionPixelSize(resourceId);
}
return result;
}
(3)手机型号与IMEI
private String getDeviceIds() {
TelephonyManager tm = (TelephonyManager) this
.getSystemService(TELEPHONY_SERVICE);
return tm.getDeviceId();
}
private String getModelNumber() {
return android.os.Build.MODEL;
}
(4).应用中根据当前android系统版本号来加载不同的设置
privatestatic final boolean USE_TRANSITION_FRAMEWORK =
Build.VERSION.SDK_INT>= Build.VERSION_CODES.KITKAT;
Build.java
publicstatic class VERSION {
publicstatic final int SDK_INT =SystemProperties.getInt(
"ro.build.version.sdk",0);
publicstatic finalString SDK =getString("ro.build.version.sdk");
}
//当前开发代号
Build.VERSION.CODENAME
//源码控制版本号
Build.VERSION.INCREMENTAL
//版本字符串
Build.VERSION.RELEASE
//版本号
Build.VERSION.SDK
//版本号
Build.VERSION.SDK_INT