TelephonyManager类使用方法大全

 这个类是很有用地,可以得到很多关于手机的信息,做应用时必须的工具。 
不废话,直接上注释后的代码,请享用: 

Java代码
  1. /**  
  2. *  
  3. *@author dingran  
  4. *创建日期 2010-4-29 下午05:02:47  
  5. *  
  6. */  
  7. package net.sunniwell.app;   
  8. import android.app.Activity;   
  9. import android.os.Bundle;   
  10. import android.telephony.CellLocation;   
  11. import android.telephony.PhoneStateListener;   
  12. import android.telephony.TelephonyManager;   
  13. public class TelManager extends Activity {   
  14.   
  15. @Override  
  16. protected void onCreate(Bundle savedInstanceState) {   
  17.   super.onCreate(savedInstanceState);   
  18.   TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);   
  19.      
  20.   /*  
  21.    * 电话状态:  
  22.    * 1.tm.CALL_STATE_IDLE=0          无活动  
  23.    * 2.tm.CALL_STATE_RINGING=1  响铃  
  24.    * 3.tm.CALL_STATE_OFFHOOK=2  摘机  
  25.    */  
  26.   tm.getCallState();//int   
  27.      
  28.   /*  
  29.    * 电话方位:  
  30.    *   
  31.    */  
  32.   tm.getCellLocation();//CellLocation   
  33.      
  34.   /*  
  35.    * 唯一的设备ID:  
  36.    * GSM手机的 IMEI 和 CDMA手机的 MEID.   
  37.    * Return null if device ID is not available.  
  38.    */  
  39.   tm.getDeviceId();//String   
  40.      
  41.   /*  
  42.    * 设备的软件版本号:  
  43.    * 例如:the IMEI/SV(software version) for GSM phones.  
  44.    * Return null if the software version is not available.   
  45.    */  
  46.   tm.getDeviceSoftwareVersion();//String   
  47.      
  48.   /*  
  49.    * 手机号:  
  50.    * GSM手机的 MSISDN.  
  51.    * Return null if it is unavailable.   
  52.    */  
  53.   tm.getLine1Number();//String   
  54.      
  55.   /*  
  56.    * 附近的电话的信息:  
  57.    * 类型:List<NeighboringCellInfo>   
  58.    * 需要权限:android.Manifest.permission#ACCESS_COARSE_UPDATES  
  59.    */  
  60.   tm.getNeighboringCellInfo();//List<NeighboringCellInfo>   
  61.      
  62.   /*  
  63.    * 获取ISO标准的国家码,即国际长途区号。  
  64.    * 注意:仅当用户已在网络注册后有效。  
  65.    *       在CDMA网络中结果也许不可靠。  
  66.    */  
  67.   tm.getNetworkCountryIso();//String   
  68.      
  69.   /*  
  70.    * MCC+MNC(mobile country code + mobile network code)  
  71.    * 注意:仅当用户已在网络注册时有效。  
  72.    *    在CDMA网络中结果也许不可靠。  
  73.    */  
  74.   tm.getNetworkOperator();//String   
  75.      
  76.   /*  
  77.    * 按照字母次序的current registered operator(当前已注册的用户)的名字  
  78.    * 注意:仅当用户已在网络注册时有效。  
  79.    *    在CDMA网络中结果也许不可靠。  
  80.    */  
  81.   tm.getNetworkOperatorName();//String   
  82.      
  83.   /*  
  84.    * 当前使用的网络类型:  
  85.    * 例如: NETWORK_TYPE_UNKNOWN  网络类型未知  0  
  86.      NETWORK_TYPE_GPRS     GPRS网络  1  
  87.      NETWORK_TYPE_EDGE     EDGE网络  2  
  88.      NETWORK_TYPE_UMTS     UMTS网络  3  
  89.      NETWORK_TYPE_HSDPA    HSDPA网络  8   
  90.      NETWORK_TYPE_HSUPA    HSUPA网络  9  
  91.      NETWORK_TYPE_HSPA     HSPA网络  10  
  92.      NETWORK_TYPE_CDMA     CDMA网络,IS95A 或 IS95B.  4  
  93.      NETWORK_TYPE_EVDO_0   EVDO网络, revision 0.  5  
  94.      NETWORK_TYPE_EVDO_A   EVDO网络, revision A.  6  
  95.      NETWORK_TYPE_1xRTT    1xRTT网络  7  
  96.    */  
  97.   tm.getNetworkType();//int   
  98.      
  99.   /*  
  100.    * 手机类型:  
  101.    * 例如: PHONE_TYPE_NONE  无信号  
  102.      PHONE_TYPE_GSM   GSM信号  
  103.      PHONE_TYPE_CDMA  CDMA信号  
  104.    */  
  105.   tm.getPhoneType();//int   
  106.      
  107.   /*  
  108.    * Returns the ISO country code equivalent for the SIM provider's country code.  
  109.    * 获取ISO国家码,相当于提供SIM卡的国家码。  
  110.    *   
  111.    */  
  112.   tm.getSimCountryIso();//String   
  113.      
  114.   /*  
  115.    * Returns the MCC+MNC (mobile country code + mobile network code) of the provider of the SIM. 5 or 6 decimal digits. 
  116.    * 获取SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字.  
  117.    * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).  
  118.    */  
  119.   tm.getSimOperator();//String   
  120.      
  121.   /*  
  122.    * 服务商名称:  
  123.    * 例如:中国移动、联通  
  124.    * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).  
  125.    */  
  126.   tm.getSimOperatorName();//String   
  127.      
  128.   /*  
  129.    * SIM卡的序列号:  
  130.    * 需要权限:READ_PHONE_STATE  
  131.    */  
  132.   tm.getSimSerialNumber();//String   
  133.      
  134.   /*  
  135.    * SIM的状态信息:  
  136.    *  SIM_STATE_UNKNOWN          未知状态 0  
  137.    SIM_STATE_ABSENT           没插卡 1  
  138.    SIM_STATE_PIN_REQUIRED     锁定状态,需要用户的PIN码解锁 2  
  139.    SIM_STATE_PUK_REQUIRED     锁定状态,需要用户的PUK码解锁 3  
  140.    SIM_STATE_NETWORK_LOCKED   锁定状态,需要网络的PIN码解锁 4  
  141.    SIM_STATE_READY            就绪状态 5  
  142.    */  
  143.   tm.getSimState();//int   
  144.      
  145.   /*  
  146.    * 唯一的用户ID:  
  147.    * 例如:IMSI(国际移动用户识别码) for a GSM phone.  
  148.    * 需要权限:READ_PHONE_STATE  
  149.    */  
  150.   tm.getSubscriberId();//String   
  151.      
  152.   /*  
  153.    * 取得和语音邮件相关的标签,即为识别符  
  154.    * 需要权限:READ_PHONE_STATE  
  155.    */  
  156.   tm.getVoiceMailAlphaTag();//String   
  157.      
  158.   /*  
  159.    * 获取语音邮件号码:  
  160.    * 需要权限:READ_PHONE_STATE  
  161.    */  
  162.   tm.getVoiceMailNumber();//String   
  163.      
  164.   /*  
  165.    * ICC卡是否存在  
  166.    */  
  167.   tm.hasIccCard();//boolean   
  168.      
  169.   /*  
  170.    * 是否漫游:  
  171.    * (在GSM用途下)  
  172.    */  
  173.   tm.isNetworkRoaming();//   
  174.      
  175.      
  176.      
  177. }   
  178.   

    转自:http://wuwei-1215.blog.sohu.com/166925336.html

你可能感兴趣的:(TelephonyManager类使用方法大全)