在android開發(fā)中經(jīng)常要上報手機設(shè)備的各種信息,將常用的方法匯集如下认罩。有的方法需要添加和申請相應的權(quán)限,請小心。
/**
* 手機上報信息工具類
* 2018-05-10
* StoneFu
*/
public class PhoneUtil {
/**
* 獲取當前手機系統(tǒng)語言澎胡。
*
* @return 返回當前系統(tǒng)語言。例如:當前設(shè)置的是“中文-中國”绢片,則返回“zh-CN”
*/
public static String getSystemLanguage() {
return Locale.getDefault().getLanguage();
}
/**
* 獲取當前系統(tǒng)上的語言列表(Locale列表)
*
* @return 語言列表
*/
public static Locale[] getSystemLanguageList() {
return Locale.getAvailableLocales();
}
/**
* 獲取當前手機系統(tǒng)版本號
*
* @return 系統(tǒng)版本號
*/
public static String getSystemVersion() {
return android.os.Build.VERSION.RELEASE;
}
/**
* 獲取手機型號
*
* @return 手機型號
*/
public static String getPhoneModel() {
return android.os.Build.MODEL;
}
/**
* 獲取手機廠商
*
* @return 手機廠商
*/
public static String getDeviceBrand() {
return android.os.Build.BRAND;
}
/**
* 獲取手機IMEI(需要“android.permission.READ_PHONE_STATE”權(quán)限)
*
* @return 手機IMEI
*/
public static String getIMEI(Context ctx) {
TelephonyManager tm = (TelephonyManager) ctx.getSystemService(Activity.TELEPHONY_SERVICE);
if (tm != null) {
return tm.getDeviceId();
}
return null;
}
/***
* 獲得手機mac
*/
public static String getPhoneMac(Context context){
WifiManager wifi = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
return info.getMacAddress();
}
/***
* 獲得sim序列號
* @param context
* @return
*/
public static String getSimSerialNumber(Context context) {
TelephonyManager tm = (TelephonyManager) context.getSystemService(Activity.TELEPHONY_SERVICE);
if (tm != null) {
return tm.getSimSerialNumber();
}
return null;
}
/***
* 獲得idfa
* @return
*/
public static String getIDFA(){
return "";
}
/***
* 獲得UUID
*/
public static String getUUID(){
String uniqueID = UUID.randomUUID().toString();
return uniqueID;
}
/***
* 獲得AndroidID
*/
public static String getAndroidID(Context context){
String androidID = Settings.System.getString(context.getContentResolver(), Settings.System.ANDROID_ID);
return androidID;
}
/***
* 獲得版本號
*/
public static String getAppVerison(Context context){
try {
String pkName = context.getPackageName();
String versionName = context.getPackageManager().getPackageInfo(
pkName, 0).versionName;
int versionCode = context.getPackageManager()
.getPackageInfo(pkName, 0).versionCode;
return " " + versionName;
} catch (Exception e) {
}
return null;
}
}