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
     
  • 相关阅读:
    RecyclerView的坑
    Edittext默认无焦点
    EditText光标位置
    录音功能暂停的实现思路
    Java clone()方法使用说明
    Android systemserver分析ThrottleService 介绍
    php 输出函数常用类型转换符
    Android BitmapDrawable()的使用
    java equal和==的比较,尤其注意基本类型和基本类型的包装类型的比较
    android HeaderViewListAdapter的介绍
  • 原文地址:https://www.cnblogs.com/zyh-blog/p/3343669.html
Copyright © 2011-2022 走看看