版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huangliniqng/article/details/83536957
主要有,获取手机系统版本,获取手机品牌、获取软件版本信息、获取屏幕尺寸宽高(包含和不包含虚拟键)以及获取手机ip地址
public class DeviceUtils {
/**
* 品牌
*/
public static String getDeviceBrand() {
return android.os.Build.BRAND;
}
/**
* 获取操作系统版本号(如:2.3.3)
*/
public static String getDeviceVersionName() {
return android.os.Build.VERSION.RELEASE;
}
/**
* 获取版本名称
*
* @param context
* @return
*/
public static String getVersionName(Context context) {
String versionName = null;
try {
//获取包管理者
PackageManager pm = context.getPackageManager();
//获取packageInfo
PackageInfo info = pm.getPackageInfo(context.getPackageName(), 0);
//获取versionName
versionName = info.versionName;
} catch (PackageManager.NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return versionName;
}
/**
* 获取应用版本号
*
* @param context
* @return
*/
public static int getVersionCode(Context context) {
int versionCode = 0;
try {
//获取包管理者
PackageManager pm = context.getPackageManager();
//获取packageInfo
PackageInfo info = pm.getPackageInfo(context.getPackageName(), 0);
//获取versionCode
versionCode = info.versionCode;
} catch (PackageManager.NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return versionCode;
}
/**
* @param context
* @return 获取屏幕原始尺寸高度,包括虚拟功能键高度
*/
public static int getTotalHeight(Context context) {
int dpi = 0;
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
@SuppressWarnings("rawtypes")
Class c;
try {
c = Class.forName("android.view.Display");
@SuppressWarnings("unchecked")
Method method = c.getMethod("getRealMetrics", DisplayMetrics.class);
method.invoke(display, displayMetrics);
dpi = displayMetrics.heightPixels;
} catch (Exception e) {
e.printStackTrace();
}
return dpi;
}
/**
* @param context
* @return 获取屏幕内容高度不包括虚拟按键
*/
public static String getScreenHeight(Context context) {
WindowManager wm = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics outMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(outMetrics);
int width = outMetrics.widthPixels;
int height = outMetrics.heightPixels;
return height + "," + width + ";";
}
/**
* ip地址
*/
public static String getLocalIpAddress() {
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) {
return inetAddress.getHostAddress();
}
}
}
} catch (SocketException ex) {
ToastUtil.shortShow(ex.getMessage());
}
return "";
}
}