Android 获取设备常用信息 (app版本信息 签名信息)

来源:互联网 发布:久其通用数据平台 编辑:程序博客网 时间:2024/06/04 18:47

(一)获取Android设备常用信息

TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

//sim号simSerialNumber = tm.getSimSerialNumber();if (null == simSerialNumber ||"".equals(simSerialNumber)) {    simSerialNumber = "XXXXXXXXXXX";}//imei号mDeviceID = tm.getDeviceId();if (null == mDeviceID || "".equals(mDeviceID)) {    mDeviceID = "XXXXXXXX";}//系统标识ANDROID_ID = Settings.System.getString(context.getContentResolver(), Settings.System.ANDROID_ID);if (null == ANDROID_ID || "".equals(ANDROID_ID)){    ANDROID_ID = "XXXXXXXXXXXXXXXX";}
//系统语言language = Locale.getDefault().getLanguage();if (null == language || "".equals(language)){    language = "en";}
//手机制造商manufacturer = Build.MANUFACTURER;if (null == manufacturer || "".equals(manufacturer)){    manufacturer = "LG";}
//手机型号 model = Build.MODEL;if (null == model || "".equals(model)){    model = "P7000";}
//android系统版本sys_version = Build.VERSION.RELEASE;if (null == sys_version ||"".equals(sys_version)){    sys_version = "4.4.1";}
//android设备 api大小
sdkLevel = Build.VERSION.SDK;if (null == sdkLevel||"".equals(sdkLevel)){    sdkLevel = "19";}
//设备mac地址WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);mMacAddress = wifi.getConnectionInfo().getMacAddress();if (null == mMacAddress||"".equals(mMacAddress)){    mMacAddress = "00:08:22:4a:57:6d";}
// Android获得屏幕的宽和高WindowManager windowManager = activity.getWindowManager();Display display = windowManager.getDefaultDisplay();screenWidth = String.valueOf(display.getWidth());screenHeight  = String.valueOf(display.getHeight());if (null == screenWidth || "".equals(screenWidth)){    screenWidth = "480";}if (null == screenHeight || "".equals(screenHeight)){    screenHeight = "800";}

(二)获取app的常用信息
// 获得应用包名mPackageName = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).packageName;if (null == mPackageName ||"".equals(mPackageName) ){    mPackageName = "com.xxx.xxxxxx";}
// 当前版本1.0.xmCurrentVersion = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;if (null == mCurrentVersion ||"".equals(mCurrentVersion) ){    mCurrentVersion = "1.0";}
// 当前版本号 1 2 3 4....mCurrentCode = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode;
//获取渠道号
String channel_id = getAppMetaData(context, "渠道名称");//名称如:UMENG_CHANNEL
/** * 获取apk包的签名信息(得到是一串很长的字符  需要上传服务器时一般要用Md5加密处理后再上传) */public static String getInstalledAPKSignature(Context context) {    try {        PackageManager pm = context.getPackageManager();        PackageInfo appInfo = pm.getPackageInfo("包名", PackageManager.GET_SIGNATURES);        if (null == appInfo || null == appInfo.signatures){            return "";        }        return appInfo.signatures[0].toCharsString();    } catch (PackageManager.NameNotFoundException e) {        e.printStackTrace();    }    return "";}

0 0