您的位置:首页 > 其它

工具类-- PhoneUtil 获取手机版本号

2016-08-22 14:03 239 查看
public class PhoneUtil {
private static final TelephonyManager tm = (TelephonyManager) BmacNfc.getInstance( )
.getSystemService(Context.TELEPHONY_SERVICE);

/**
* 唯一的设备ID: GSM手机的 IMEI 和 CDMA手机的 MEID. Return null if device ID is not
* available.
*/
public static String getDeviceId() {
return tm.getDeviceId();
}

/**
* 获取手机的mac地址
* @return
*/
public static String getMacAddress() {
WifiManager wifi = (WifiManager) BmacNfc.getInstance( )
.getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
return info.getMacAddress();
}

/**
* 唯一的用户ID: 例如:IMSI(国际移动用户识别码) for a GSM phone. 需要权限:READ_PHONE_STATE
*/
public static String getSubscriberId() {
String subscriberId = getDeviceId();
if (StringUtil.isEmpty(subscriberId)) {
subscriberId = getMacAddress();
}
if (StringUtil.isEmpty(subscriberId)) {
subscriberId = tm.getSubscriberId();
}
return subscriberId;
}

/**
* 获取当前应用的版本号
*
* @return
*/
public static String getVersionName() {
// 获取packagemanager的实例
PackageManager packageManager = BmacNfc.getInstance( )
.getPackageManager();
// getPackageName()是你当前类的包名,0代表是获取版本信息
PackageInfo packInfo = null;
try {
packInfo = packageManager.getPackageInfo(
BmacNfc.getInstance( ).getPackageName(), 0);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
String version = packInfo.versionName;
return version;
}

/**
* 获取当前应用的版本号
*
* @return
*/
public static int getVersionCode() {
// 获取packagemanager的实例
PackageManager packageManager = BmacNfc.getInstance( )
.getPackageManager();
// getPackageName()是你当前类的包名,0代表是获取版本信息
PackageInfo packInfo = null;
try {
packInfo = packageManager.getPackageInfo(
BmacNfc.getInstance( ).getPackageName(), 0);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
return packInfo.versionCode;
}

/**
* 获取当前系统的版本号
* @return
*/
public static String getSDKVersion() {
return android.os.Build.VERSION.RELEASE;
}

/**
* 获取手机的型号
* @return
*/
public static String getModel() {
return android.os.Build.MANUFACTURER+" "+android.os.Build.MODEL;
}

/**
* 获得状态栏的高度
* @return
*/
public static int getStatusBarHeight(Context context ) {
Rect rect = new Rect( );
((Activity)context).getWindow( ).getDecorView( ).getWindowVisibleDisplayFrame( rect );
return rect.top;
}

public static String getPhoneNum(){
return tm.getLine1Number();
}

/**
* dp转像素
* @param dp
* @param context
* @return
*/
public static int dp2px( int dp ,Context context) {
return (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, dp, context.getResources( ).getDisplayMetrics( ) );
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐