TelephoneManage类详解

1.加入权限  

在manifest.xml文件中要添加 <uses-permission android:name="android.permission.READ_PHONE_STATE" />  

2.代码   

    /**
    *
    *
    *创建日期 2010-4-29 下午05:02:47
    *
    */
    package net.sunniwell.app;
    import android.app.Activity;
    import android.os.Bundle;
    import android.telephony.CellLocation;
    import android.telephony.PhoneStateListener;
    import android.telephony.TelephonyManager;
    public class TelManager extends Activity {       

    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);       

      /*
       * 电话状态:
       * 1.tm.CALL_STATE_IDLE=0          无活动
       * 2.tm.CALL_STATE_RINGING=1  响铃
       * 3.tm.CALL_STATE_OFFHOOK=2  摘机
       */
      tm.getCallState();//int       

      /*
       * 电话方位:
       *
       */
      tm.getCellLocation();//CellLocation       

      /*
       * 唯一的设备ID:
       * GSM手机的 IMEI 和 CDMA手机的 MEID.
       * Return null if device ID is not available.
       */
      tm.getDeviceId();//String       

      /*
       * 设备的软件版本号:
       * 例如:the IMEI/SV(software version) for GSM phones.
       * Return null if the software version is not available.
       */
      tm.getDeviceSoftwareVersion();//String       

      /*
       * 手机号:
       * GSM手机的 MSISDN.
       * Return null if it is unavailable.
       */
      tm.getLine1Number();//String       

      /*
       * 附近的电话的信息:
       * 类型:List<NeighboringCellInfo>
       * 需要权限:android.Manifest.permission#ACCESS_COARSE_UPDATES
       */
      tm.getNeighboringCellInfo();//List<NeighboringCellInfo>       

      /*
       * 获取ISO标准的国家码,即国际长途区号。
       * 注意:仅当用户已在网络注册后有效。
       *       在CDMA网络中结果也许不可靠。
       */
      tm.getNetworkCountryIso();//String       

      /*
       * MCC+MNC(mobile country code + mobile network code)
       * 注意:仅当用户已在网络注册时有效。
       *    在CDMA网络中结果也许不可靠。
       */
      tm.getNetworkOperator();//String       

      /*
       * 按照字母次序的current registered operator(当前已注册的用户)的名字
       * 注意:仅当用户已在网络注册时有效。
       *    在CDMA网络中结果也许不可靠。
       */
      tm.getNetworkOperatorName();//String       

      /*
       * 当前使用的网络类型:
       * 例如: NETWORK_TYPE_UNKNOWN  网络类型未知  0
         NETWORK_TYPE_GPRS     GPRS网络  1
         NETWORK_TYPE_EDGE     EDGE网络  2
         NETWORK_TYPE_UMTS     UMTS网络  3
         NETWORK_TYPE_HSDPA    HSDPA网络  8
         NETWORK_TYPE_HSUPA    HSUPA网络  9
         NETWORK_TYPE_HSPA     HSPA网络  10
         NETWORK_TYPE_CDMA     CDMA网络,IS95A 或 IS95B.  4
         NETWORK_TYPE_EVDO_0   EVDO网络, revision 0.  5
         NETWORK_TYPE_EVDO_A   EVDO网络, revision A.  6
         NETWORK_TYPE_1xRTT    1xRTT网络  7
       */
      tm.getNetworkType();//int       

      /*
       * 手机类型:
       * 例如: PHONE_TYPE_NONE  无信号
         PHONE_TYPE_GSM   GSM信号
         PHONE_TYPE_CDMA  CDMA信号
       */
      tm.getPhoneType();//int       

      /*
       * Returns the ISO country code equivalent for the SIM provider‘s country code.
       * 获取ISO国家码,相当于提供SIM卡的国家码。
       *
       */
      tm.getSimCountryIso();//String       

      /*
       * Returns the MCC+MNC (mobile country code + mobile network code) of the provider of the SIM. 5 or 6 decimal digits.
       * 获取SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字.
       * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).
       */
      tm.getSimOperator();//String       

      /*
       * 服务商名称:
       * 例如:中国移动、联通
       * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).
       */
      tm.getSimOperatorName();//String       

      /*
       * SIM卡的序列号:
       * 需要权限:READ_PHONE_STATE
       */
      tm.getSimSerialNumber();//String       

      /*
       * SIM的状态信息:
       *  SIM_STATE_UNKNOWN          未知状态 0
       SIM_STATE_ABSENT           没插卡 1
       SIM_STATE_PIN_REQUIRED     锁定状态,需要用户的PIN码解锁 2
       SIM_STATE_PUK_REQUIRED     锁定状态,需要用户的PUK码解锁 3
       SIM_STATE_NETWORK_LOCKED   锁定状态,需要网络的PIN码解锁 4
       SIM_STATE_READY            就绪状态 5
       */
      tm.getSimState();//int       

      /*
       * 唯一的用户ID:
       * 例如:IMSI(国际移动用户识别码) for a GSM phone.
       * 需要权限:READ_PHONE_STATE
       */
      tm.getSubscriberId();//String       

      /*
       * 取得和语音邮件相关的标签,即为识别符
       * 需要权限:READ_PHONE_STATE
       */
      tm.getVoiceMailAlphaTag();//String       

      /*
       * 获取语音邮件号码:
       * 需要权限:READ_PHONE_STATE
       */
      tm.getVoiceMailNumber();//String       

      /*
       * ICC卡是否存在
       */
      tm.hasIccCard();//boolean       

      /*
       * 是否漫游:
       * (在GSM用途下)
       */
      tm.isNetworkRoaming();//       

    }       

    }  
时间: 2024-10-13 03:42:18

TelephoneManage类详解的相关文章

QAction类详解:

先贴一段描述:Qt文档原文: Detailed Description The QAction class provides an abstract user interface action that can be inserted into widgets. In applications many common commands can be invoked via menus, toolbar buttons, and keyboard shortcuts. Since the user

Android技术18:Android中Adapter类详解

1.Adapter设计模式 Android中adapter接口有很多种实现,例如,ArrayAdapter,BaseAdapter,CursorAdapter,SimpleAdapter,SimpleCursorAdapter等,他们分别对应不同的数据源.例如,ArrayAdater对应List和数组数据源,而CursorAdapter对应Cursor对象(一般从数据库中获取的记录集).这些Adapter都需要getView方法返回当前列表项显示的View对象.当Model发生改变时,会调用Ba

C++虚基类详解

1.虚基类的作用从上面的介绍可知:如果一个派生类有多个直接基类,而这些直接基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类数据成员的多份同名成员.在引用这些同名的成员时,必须在派生类对象名后增加直接基类名,以避免产生二义性,使其惟一地标识一个成员,如    c1.A::display( ).在一个类中保留间接共同基类的多份同名成员,这种现象是人们不希望出现的.C++提供虚基类(virtual base class )的方法,使得在继承间接共同基类时只保留一份成员.现在,将类A声明为

URLConnection类详解

为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3753224.html URLConnection概述 URLConnection是一个抽象类,表示指向URL指定资源的活动连接. URLConnection类本身依赖于Socket类实现网络连接.一般认为,URLConnection类提供了比Socket类更易于使用.更高级的网络连接抽象.但实际上,大多数程序员都会忽略它

ThreadLocal类详解

众所周知,ThreadLocal对象可以每一个线程保存一份值,可以避免因线程间共享数据带来的问题. 其实现的原理,大致如下,具体的可以参考JDK里的源码. Thread类中,有一个threadLocals字段,它是ThreadLocalMap类型(ThreadLocal里的一个静态内部类).该字段存放当前线程下,所有与ThreadLocal相关的值.该对象是一个Map,key为ThreadLocal对象,value为所存放的值. 在ThreadLocal类里,有两个重要的方法:set()和get

Cocos2d之Node类详解之节点树(二)

一.声明 本文属于笔者原创,允许读者转载和分享,只要注明文章来源即可. 笔者使用cocos2d框架的cocos2d-x-3.3rc0版本的源代码做分析.这篇文章承接上篇<Cocos2d之Node类详解之节点树(一)>. 二.简介 节点 一个Node对象. 节点树 上篇文章介绍到,Node类有一个成员变量 Vector<Node*> _children,这是一个保存所有子节点的数组,因为Node类采用遍历树的方式获取子节点进行渲染,所以我管这两个东西的结合叫节点树. 三.源码详解 &

Android开发之Html类详解

在进行Android开发中经常回忽略Html类.这个类其实很简单,就是将HTML标签文本解析成普通的样式文本.下面就让我么看一下这个类的具体介绍. 类结构: java.lang.Object    ? android.text.Html 类概述: 这个类用于处理的HTML字符串并将其转换成可显示的样式文本.但并不是所有的HTML标记的支持. 公有方法: 说其简单是应为它就有四个方法: Public Methods static String escapeHtml(CharSequence tex

Opencart 之 Registry 类详解

Registry 中文意思是记录,登记,记录本的意思, 在opencart中他的用途就是 登记公共类.类的原型放在 system\engine文件夹下 代码很简单: <?php final class Registry { private $data = array(); public function get($key) { return (isset($this->data[$key]) ? $this->data[$key] : NULL); } public function s

Cocos2d之Node类详解之ZOrder详解

一.声明 笔者以cocos2d框架的cocos2d-x-3.3rc0版本源码做分析.本文属于笔者原创,允许转载和分享,但请注明文章出处. 二.简介 ZOrder ZOrder顾名思义就是节点(Node对象)在Z轴上的排序,这样一来ZOrder越小就越优先显示.每个节点(Node对象)可以持有多个子节点,组成节点树(关于节点树的介绍查看<Cocos2d之Node类详解之节点树>一文).ZOder表示了节点树中每个子节点显示的优先级.值得注意的是,节点树中子节点的ZOder可能会一样,这种情况下父