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 }
原文地址:https://www.cnblogs.com/phj981805903/p/3323237.html