zoukankan      html  css  js  c++  java
  • 026、TelephonyManager的应用

    手机最主要的功能就是打电话,可以通过TelephonyManager提供的方法来获取SIM卡的状态和相关资料。
    通过getSystemService(Context.TELEPHONY_SERVICE)取得TelephonyManager对象。
    代码:
     
       /**
         * 获取SIM卡信息
         */
        private void loadTelephonyData() {
            //取得SIM卡状态
            items.add("SIM卡状态");
            switch (tm.getSimState()) {
            case TelephonyManager.SIM_STATE_READY:
                values.add("良好");
                break;
            case TelephonyManager.SIM_STATE_ABSENT:
                values.add("无SIM卡");
                break;
            default:
                values.add("SIM卡被锁定或未知的状态");
                break;
            }
            
            //获取SIM卡卡号
            items.add("SIM卡卡号");
            if(tm.getSimSerialNumber()==null){
                values.add("无法获取号码");
            }else{
                values.add(tm.getSimSerialNumber());
            }
            
            //取得SIM卡供货商代码
            items.add("SIM卡供货商代码");
            if("".equals(tm.getSimOperator())){
                values.add("无法获取供应商代码");
            }else{
                values.add(tm.getSimOperator());
            }
            
            //获取SIM卡供应商名称
            items.add("SIM卡供应商名称");
            if("".equals(tm.getSimOperatorName())){
                values.add("无法获取供应商名称");
            }else{
                values.add(tm.getSimOperatorName());
            }
            
            //获取SIM卡区域
            items.add("SIM卡区域");
            if("".equals(tm.getSimCountryIso())){
                values.add("无法获取SIM卡区域");
            }else{
                values.add(tm.getSimCountryIso());
            }
        }
     
     
    AndroidManifest.xml本身必须要在Activity里设置读取电话状态的权限(Android.permission.READ_PHONE_STATE):
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>

     

     
    上述程序以TelephonyManager.getSimState()方法来取得SIM卡的状态,可能出现的返回状态如下表:
    常数名称 说明 常数值
    SIM_STATE_ABSENT 手机内无SIM卡 1
    SIM_STATE_NETWORK_LOCKED 需要Network PIN解锁 4
    SIM_STATE_PIN_REQUIRED 需要SIM卡的PIN解锁 2
    SIM_STATE_PUK_REQUIRED 需要SIM卡的PUK解锁 3
    SIM_STATE_READY SIM卡已准备好 5
    SIM_STATE_UNKNOWN 状态未知 0
     
  • 相关阅读:
    Symfony Component HttpKernel Exception AccessDeniedHttpException This action is unauthorized.
    AngularJs ng-repeat中使用ng-model
    JS数组排序sort()方法同时按照两种方式排序的用法
    MongoDB
    Node基本学习
    小程序 五 组件使用
    小程序 四 事件类型
    小程序 二 template模板(代码复用)
    小程序 wxs 脚本语言(2种使用方式)
    小程序初体验 wx:for
  • 原文地址:https://www.cnblogs.com/zyh-blog/p/3343669.html
Copyright © 2011-2022 走看看