/** * */ package com.zanlabs.common.utils; import android.Manifest; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.os.Build; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.DisplayMetrics; /** * @author rxread */ public class AppUtil { private static String imei = null; /** * get the current version of current application */ public static String getImei( Context context) { if (TextUtils.isEmpty(imei)) { if(context.checkCallingOrSelfPermission( Manifest.permission.READ_PHONE_STATE)== PackageManager.PERMISSION_GRANTED){ TelephonyManager tm = (TelephonyManager) context.getApplicationContext() .getSystemService(Context.TELEPHONY_SERVICE); imei = tm.getDeviceId(); } } return imei; } /** * get the current version of current application */ public static String getVersionName( Context context) { String versionName = ""; String pkName = context.getPackageName(); try { versionName = context.getPackageManager().getPackageInfo(pkName, 0).versionName; } catch (NameNotFoundException e) { e.printStackTrace(); } return versionName; } /** * get the current version code of current application */ public static int getVersionCode( Context context) { int versionCode = -1; String pkName = context.getPackageName(); try { versionCode = context.getPackageManager().getPackageInfo(pkName, 0).versionCode; } catch (NameNotFoundException e) { e.printStackTrace(); } return versionCode; } /** * get the screen resolution * */ public static String getScreenResolution( Context context,String splitStr) { DisplayMetrics displaymetrics = context.getResources().getDisplayMetrics(); int height = displaymetrics.heightPixels; int width = displaymetrics.widthPixels; return String.valueOf(width)+splitStr+String.valueOf(height); } /** * 获得相应的版本号<br/> * <a href="http://developer.android.com/reference/android/os/Build.VERSION_CODES.html">SDK INT</a> */ public static String getCorrectSDKVer(int version) { switch (version) { case 1: case 2: return "Android1.5Before"; case 3: return "Android1.5"; case 4: return "Android1.6"; case 5: return "Android2.0"; case 6: return "Android2.0.1"; case 7: return "Android2.1"; case 8: return "Android2.2"; case 9: return "Android2.3.1"; case 10: return "Android2.3.3"; case 11: return "Android3.0"; case 12: return "Android3.1"; case 13: return "Android3.2"; case 14: return "Android4.0"; case 15: return "Android4.0.3"; case 16: return "Android4.1.2"; case 17: return "Android4.2.2"; case 18: return "Android4.3.1"; case 19: return "Android4.4.2"; case 20://KITKAT_WATCH return "Android4.4W"; case 21: return "Android5.0.1"; case 22: return "Android5.1.1"; case 23: return "Android6.0"; case 24: return "AndroidAPI24"; case 25: return "AndroidAPI25"; } return "AndroidAPI" + version; } public static int getSDKInt() { return Build.VERSION.SDK_INT; } public static boolean isAppInstalled(Context context, String packageName) { PackageInfo packageInfo; try { packageInfo = context.getPackageManager().getPackageInfo(packageName, 0); } catch (PackageManager.NameNotFoundException e) { packageInfo = null; // e.printStackTrace(); } return packageInfo!=null; } }