Android 获取系统信息 手机号码 所在国家码

来源:互联网 发布:网络蔬菜超市 编辑:程序博客网 时间:2024/06/07 02:47

系统信息

在Android中可以通过android.os.Build这个类和System.getProperty(“xxx”);来获取设备信息,下面列举的常见设备信息摘自Android群英传



Build.BOARD // 主板
Build.BRAND // 系统定制商
Build.SUPPORTED_ABIS //CPU指令集
Build.DEVICE // 设备参数
Build.DISPLAY // 显示屏参数
Build.FINGDERPRINT // 唯一编号
Build.SERIAL // 硬件序列号
Build.ID // 修订版本列表
Build.MANUFACTURER // 硬件制造商
Build.MODEL //版本
Build.HARDWARE //硬件名
Build.PRODUCT //手机产品名
Build.TAGS // 描述build的标签
Build.TYPE // Builder类型
Build.VERSION.CODENAME //当前开发代号
Build.VERSION.INCREMENTAL //源码控制版本号
Build.VERSION.RELEASE //版本字符串
Build.VERSION.SDK_INT //版本号
Build.HOST // HOST值
Build.USER // User名
Build.TIME // 编译时间


System.Property 
os.version // OS版本号 
os.name // OS名称 
os.arch // OS架构 
user.home //home属性 
user.name // name属性 
user.dir //dir属性 
user.timezone //时区 
path.separator //路径分隔符 
line.separator // 行文分隔符 
file.separator //文件分隔符 
java.vendor.url // Java vender URL属性 
java.class.path // Java Class路径 
java.class.version // Java class版本 
java.vendor // java vender 属性 
java.version // Java 版本 
java.home // Java Home 属性

 // 获取主板信息
 String borad = Build.BOARD
 // 获取OS版本

 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  

需要权限

<uses-permissionandroid:nameuses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>

此方法并不通用,可能运营商并为写入手机号码到SIM,只有IMSI

解决思路:@TODO

可以通过给运营商发送短信,比如向10086发送固定短码查询手机相关资讯,并监听短信返回结果,然后解析出所需要的手机号码


国家码

values/attr.xml

<?xml version="1.0" encoding="utf-8"?>  
<resources>  
    <!-- 国家码 -->  
    <string-array name="CountryCodes">  
        <item>93,AF</item>  
        <item>263,ZW</item>  
    </string-array>  
</resources>  


/** 
 * 获取国家码 
 */  
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;  
}  



2 0
原创粉丝点击