今天介绍一下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 }