(一)获取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.x mCurrentVersion = 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 "";
}