zoukankan      html  css  js  c++  java
  • Android TelephonyManager电话管理器

      今天介绍一下Android的电话管理器--TelephonyManager,TelephonyManager管理手机通话状态、电话网络信息的服务类,获取TelephonyManager:

    1 TelephonyManager tManager = (TelephonyManager)
    2             getSystemService(Context.TELEPHONY_SERVICE);

      下面直接上个实例:

     1 public class TelephonyStatus extends Activity
     2 {
     3     ListView showView;
     4     // 声明代表状态名的数组
     5     String[] statusNames;
     6     // 声明代表手机状态的集合
     7     ArrayList<String> statusValues = 
     8         new ArrayList<String>();
     9     @Override
    10     public void onCreate(Bundle savedInstanceState)
    11     {
    12         super.onCreate(savedInstanceState);
    13         setContentView(R.layout.main);
    14         // 获取系统的TelephonyManager对象
    15         TelephonyManager tManager = (TelephonyManager)
    16             getSystemService(Context.TELEPHONY_SERVICE);
    17         // 获取各种状态名称的数组
    18         statusNames = getResources().getStringArray(
    19             R.array.statusNames);
    20         // 获取代表SIM卡状态的数组
    21         String[] simState = getResources().getStringArray(
    22             R.array.simState);
    23         // 获取代表电话网络类型的数组
    24         String[] phoneType = getResources().getStringArray(
    25             R.array.phoneType);
    26         // 获取设备编号
    27         statusValues.add(tManager.getDeviceId());
    28         // 获取系统平台的版本
    29         statusValues.add(tManager.getDeviceSoftwareVersion() != null 
    30             ? tManager.getDeviceSoftwareVersion() : "未知");
    31         // 获取网络运营商代号
    32         statusValues.add(tManager.getNetworkOperator());
    33         // 获取网络运营商名称
    34         statusValues.add(tManager.getNetworkOperatorName());
    35         // 获取手机网络类型
    36         statusValues.add(phoneType[tManager.getPhoneType()]);
    37         // 获取设备所在位置
    38         statusValues.add(tManager.getCellLocation() != null 
    39             ? tManager.getCellLocation().toString() : "未知位置");
    40         // 获取SIM卡的国别
    41         statusValues.add(tManager.getSimCountryIso());
    42         // 获取SIM卡序列号
    43         statusValues.add(tManager.getSimSerialNumber());
    44         // 获取SIM卡状态
    45         statusValues.add(simState[tManager.getSimState()]);    
    46          // 获得ListView对象
    47         showView = (ListView) findViewById(R.id.show);
    48         ArrayList<Map<String , String>> status = 
    49             new ArrayList<Map<String , String>>();
    50         //遍历statusValues集合,将statusNames、statusValues
    51         //的数据封装到List<Map<String , String>>集合中
    52         for(int i = 0 ; i < statusValues.size() ; i++)
    53         {
    54             HashMap<String, String> map = 
    55                 new HashMap<String , String>();
    56             map.put("name" , statusNames[i]);
    57             map.put("value" , statusValues.get(i));
    58             status.add(map);
    59         }
    60         // 使用SimpleAdapter封装List数据
    61         SimpleAdapter adapter = new SimpleAdapter(
    62             this  
    63             , status
    64             , R.layout.line
    65             , new String[]{"name" , "value"}
    66             , new int[]{R.id.name , R.id.value});
    67         // 为ListView设置Adapter
    68         showView.setAdapter(adapter);
    69     }
    70 }
  • 相关阅读:
    C语言和python分别计算文件的md5值
    C语言计算文件大小
    Linux内核源码下载
    Linux系统编程20_VFS虚拟文件系统
    Linux系统编程19_标准I/O
    C语言Review5_函数指针和数组指针
    C语言Review4_头文件引用符号的区别
    PDO之MySql持久化自动重连导致内存溢出
    小程序之app.json not found
    phpstorm之"Can not run PHP Code Sniffer"
  • 原文地址:https://www.cnblogs.com/phj981805903/p/3323237.html
Copyright © 2011-2022 走看看