Android中获取手机自身的信息

本文介绍了一个用于获取Android设备上各种电话相关信息的方法,包括电话号码、运营商名称、IMEI等,并通过TelephonyManager API实现了这些功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


 private TelephonyManager telephonyManager;  
   /** 
    * 国际移动用户识别码 
    */  
   private String IMSI;  
   private Context cxt;  
   public PhoneInfo(Context context) {  
       cxt=context;  
       telephonyManager = (TelephonyManager) context  
               .getSystemService(Context.TELEPHONY_SERVICE);  
   }  
 
   /** 
    * 获取电话号码 
    */  
   public String getNativePhoneNumber() {  
       String NativePhoneNumber=null;  
       NativePhoneNumber=telephonyManager.getLine1Number();  
       return NativePhoneNumber;  
   }  


/** 
    * 获取手机服务商信息 
    */  
   public String getProvidersName() {  
       String ProvidersName = "N/A";  
       try{  
       IMSI = telephonyManager.getSubscriberId();  
       // IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。  
       System.out.println(IMSI);  
       if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) {  
           ProvidersName = "中国移动";  
       } else if (IMSI.startsWith("46001")) {  
           ProvidersName = "中国联通";  
       } else if (IMSI.startsWith("46003")) {  
           ProvidersName = "中国电信";  
       }  
       }catch(Exception e){  
           e.printStackTrace();  
       }  
       return ProvidersName;  
   }  



 public String  getPhoneInfo(){  
        TelephonyManager tm = (TelephonyManager)cxt.getSystemService(Context.TELEPHONY_SERVICE);  
           StringBuilder sb = new StringBuilder();  
 
           sb.append("\nDeviceId(IMEI) = " + tm.getDeviceId());  
           sb.append("\nDeviceSoftwareVersion = " + tm.getDeviceSoftwareVersion());  
           sb.append("\nLine1Number = " + tm.getLine1Number());  
           sb.append("\nNetworkCountryIso = " + tm.getNetworkCountryIso());  
           sb.append("\nNetworkOperator = " + tm.getNetworkOperator());  
           sb.append("\nNetworkOperatorName = " + tm.getNetworkOperatorName());  
           sb.append("\nNetworkType = " + tm.getNetworkType());  
           sb.append("\nPhoneType = " + tm.getPhoneType());  
           sb.append("\nSimCountryIso = " + tm.getSimCountryIso());  
           sb.append("\nSimOperator = " + tm.getSimOperator());  
           sb.append("\nSimOperatorName = " + tm.getSimOperatorName());  
           sb.append("\nSimSerialNumber = " + tm.getSimSerialNumber());  
           sb.append("\nSimState = " + tm.getSimState());  
           sb.append("\nSubscriberId(IMSI) = " + tm.getSubscriberId());  
           sb.append("\nVoiceMailNumber = " + tm.getVoiceMailNumber());  
           sb.append("\nMODEL = " + android.os.Build.MODEL); 
           sb.append("\nMANUFACTURER = " + android.os.Build.MANUFACTURER); 
          return  sb.toString();  
   }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值