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

xiaoxiao2021-02-28  102

系统信息

在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;   }  

转载请注明原文地址: https://www.6miu.com/read-35361.html

最新回复(0)