系统信息
在Android中可以通过android.os.Build这个类和System.getProperty(“xxx”);来获取设备信息,下面列举的常见设备信息摘自Android群英传
String osVersion = System.getProperty("os.version");
手机号码
TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
String deviceid = tm.getDeviceId();//获取智能设备唯一编号
String te1 = tm.getLine1Number();//获取本机号码
String imei = tm.getSimSerialNumber();//获得SIM卡的序号
String imsi = tm.getSubscriberId();//得到用户Id
需要权限
此方法并不通用,可能运营商并为写入手机号码到SIM,只有IMSI
解决思路:@TODO
可以通过给运营商发送短信,比如向10086发送固定短码查询手机相关资讯,并监听短信返回结果,然后解析出所需要的手机号码
国家码
values/attr.xml
/**
* 获取国家码
*/
public static String getCountryZipCode(Context context) {
String CountryID = "";
String CountryZipCode = "";
TelephonyManager manager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
CountryID = manager.getSimCountryIso().toUpperCase();
Log.d("ss", "CountryID--->>>" + CountryID);
String[] rl = context.getResources().getStringArray(R.array.CountryCodes);
for (int i = 0; i < rl.length; i++) {
String[] g = rl[i].split(",");
if (g[1].trim().equals(CountryID.trim())) {
CountryZipCode = g[0];
break;
}
}
return CountryZipCode;
}