实例下载地址 http://download.csdn.net/detail/dongbeiman/3830478
1
package com.feng.sim.activity;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import android.app.ListActivity;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class GetSIMinfoAndroidActivity extends ListActivity {
private TelephonyManager manager;
private List item = new ArrayList();
private List value = new ArrayList();
private ListView mListView;
private List> mData = new ArrayList>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mListView = getListView();
manager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
item.add("SIM卡状态");
switch (manager.getSimState()) {
case TelephonyManager.SIM_STATE_READY:
value.add("良好");
break;
case TelephonyManager.SIM_STATE_ABSENT:
value.add("无SIM卡");
break;
default:
value.add("SIM卡被锁定或未知状态");
break;
}
item.add("SIM卡序列号");
if (manager.getSimSerialNumber() != null){
value.add(manager.getSimSerialNumber());
}else{
value.add("无法取得");
}
item.add("SIM卡提供商代码");
if (manager.getSimOperator() != null){
value.add(manager.getSimOperator());
}else{
value.add("无法取得");
}
item.add("SIM卡提供商名称");
if (manager.getSimOperatorName() != null){
value.add(manager.getSimOperatorName());
}else{
value.add("无法取得");
}
item.add("SIM卡国别");
if (manager.getSimCountryIso() != null){
value.add(manager.getSimCountryIso());
}else{
value.add("无法取得");
}
item.add("手机串号");
if(manager.getDeviceId() != null){
value.add(manager.getDeviceId());
}else{
value.add("无法取得");
}
item.add("手机号");
if(manager.getLine1Number() != null){
value.add(manager.getLine1Number());
}else{
value.add("无法取得");
}
item.add("信号类型");
switch (manager.getPhoneType()) {
case TelephonyManager.PHONE_TYPE_NONE:
value.add("无信号");
break;
case TelephonyManager.PHONE_TYPE_GSM:
value.add("GSM信号");
break;
case TelephonyManager.PHONE_TYPE_CDMA:
value.add("CDMA信号");
break;
default:
value.add("信号未知状态");
break;
}
item.add("imsi号");
if(manager.getSubscriberId() != null){
value.add(manager.getSubscriberId());
}else{
value.add("无法取得");
}
item.add("运营商名称");
if(manager.getNetworkOperatorName() != null){
value.add(manager.getNetworkOperatorName());
}else{
value.add("无法取得");
}
item.add("语音邮件识别符");
if(manager.getVoiceMailAlphaTag() != null){
value.add(manager.getVoiceMailAlphaTag());
}else{
value.add("无法取得");
}
item.add("语音邮件号码");
if(manager.getVoiceMailNumber() != null){
value.add(manager.getVoiceMailNumber());
}else{
value.add("无法取得");
}
item.add("数据连接状态");
switch (manager.getDataState()) {
case TelephonyManager.DATA_CONNECTED:
value.add("已连接");
break;
case TelephonyManager.DATA_CONNECTING:
value.add("正在连接");
break;
case TelephonyManager.DATA_DISCONNECTED:
value.add("断开");
break;
case TelephonyManager.DATA_SUSPENDED:
value.add("暂停");
break;
default:
value.add("未知状态");
break;
}
item.add("数据活动状态");
switch (manager.getDataActivity()) {
case TelephonyManager.DATA_ACTIVITY_IN:
value.add("活动,正在接受数据");
break;
case TelephonyManager.DATA_ACTIVITY_OUT:
value.add("活动,正在发送数据");
break;
case TelephonyManager.DATA_ACTIVITY_INOUT:
value.add("活动,正在接受和发送数据");
break;
case TelephonyManager.DATA_ACTIVITY_NONE:
value.add("活动,但无数据发送和接受");
break;
default:
value.add("未知状态");
break;
}
Iterator itItem = item.iterator();
Iterator itValue = value.iterator();
while (itItem.hasNext() && itValue.hasNext()) {
HashMap map = new HashMap();
map.put("item", itItem.next());
map.put("value", itValue.next());
mData.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(getApplicationContext(),
mData, R.layout.item_value, new String[] { "item", "value" },
new int[] { R.id.item, R.id.value });
mListView.setAdapter(adapter);
}
}
2 效果图