http://www.eoeandroid.com/thread-19718-1-1.html
http://yansaibo.javaeye.com/blog/728230
主类:SimData.java
public class SimData extends ListActivity {
private TelephonyManager telMgr;
private List<String> item=new ArrayList<String>();
private List<String> value=new ArrayList<String>();
@SuppressWarnings(“static-access”)
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/* 载入main.xml Layout */
setContentView(R.layout.main);
//创建电话管理与手机建立连接
telMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
/* 将取得的信息写入List中 */
/* 取得SIM卡状态 */
item.add(getResources().getText(R.string.str_list0).toString());
if(telMgr.getSimState()==telMgr.SIM_STATE_READY){
value.add(“良好”);
}else if(telMgr.getSimState()==telMgr.SIM_STATE_ABSENT){
value.add(“无SIM卡”);
}else if(telMgr.getSimState() == telMgr.SIM_STATE_NETWORK_LOCKED){
value.add(“需要NetWork PIN 解锁”);
}else if(telMgr.getSimState() == telMgr.SIM_STATE_PIN_REQUIRED){
value.add(“需要SIM卡的PIN解锁”);
}else if(telMgr.getSimState() == telMgr.SIM_STATE_PUK_REQUIRED){
value.add(“需要SIM卡的PUK解锁”);
}else if(telMgr.getSimState() == telMgr.SIM_STATE_UNKNOWN){
value.add(“SIM卡状态未知”);
}
/* 取得SIM卡卡号/IMEI:手机串号 */
item.add(getResources().getText(R.string.str_list1).toString());
if(telMgr.getSimSerialNumber()!=null){
value.add(telMgr.getSimSerialNumber());
}else{
value.add(“无法取得”);
}
/* 取得SIM卡卡号/IMSI:国际移动用户识别码*/
item.add(getResources().getText(R.string.str_list2).toString());
if(telMgr.getSubscriberId()!=null){
value.add(telMgr.getSubscriberId());
}else{
value.add(“无法取得”);
}
/* 取得SIM卡供货商代码 */
item.add(getResources().getText(R.string.str_list3).toString());
if(telMgr.getSimOperator().equals(“”)){
value.add(“无法取得”);
}else{
value.add(telMgr.getSimOperator());
}
/* 取得SIM卡供货商名称 */
item.add(getResources().getText(R.string.str_list4).toString());
if(telMgr.getSimOperatorName().equals(“”)){
value.add(“无法取得”);
}else{
value.add(telMgr.getSimOperatorName());
}
/* 取得SIM卡国别 */
item.add(getResources().getText(R.string.str_list5).toString());
if(telMgr.getSimCountryIso().equals(“”)){
value.add(“无法取得”);
}else{
value.add(telMgr.getSimCountryIso());
}
/*取得SIM卡的网络类型*/
item.add(getResources().getText(R.string.str_list6).toString());
if(telMgr.getPhoneType() == telMgr.PHONE_TYPE_CDMA){
value.add(“SIM的类型是CDMA”);
}else if(telMgr.getPhoneType() == telMgr.PHONE_TYPE_GSM){
value.add(“SIM的类型是GSM”);
}else if(telMgr.getPhoneType() == telMgr.PHONE_TYPE_NONE){
value.add(“SIM的类型是NONE”);
}else{
value.add(“无法取得”);
}
/*取得SIM卡驱动的ID号*/
item.add(getResources().getText(R.string.str_list7).toString());
if(telMgr.getDeviceId().equals(“”)){
value.add(“无法取得”);
}else{
value.add(telMgr.getDeviceId());
}
/*取得SIM卡号码/手机号码*/
item.add(getResources().getText(R.string.str_list8).toString());
if(telMgr.getLine1Number().equals(“”)){
value.add(“无法取得”);
}else{
value.add(telMgr.getLine1Number());
}
/*取得SIM卡CDMA基站的识别ID*/
item.add(getResources().getText(R.string.str_list9).toString());
if(telMgr.getCellLocation() == null){
value.add(“无法取得”);
}else{
value.add(String.valueOf(((CdmaCellLocation) telMgr.getCellLocation()).getBaseStationId()));
}
/*取得SIM卡CDMA基站的地理坐标*/
item.add(getResources().getText(R.string.str_list10).toString());
if(telMgr.getCellLocation() == null){
value.add(“无法取得”);
}else{
value.add(“经度:” +String.valueOf(((CdmaCellLocation) telMgr.getCellLocation()).getBaseStationLongitude())
+” “+
“纬度:” + String.valueOf(((CdmaCellLocation) telMgr.getCellLocation()).getBaseStationLatitude()));
}
/* 使用自定义的MyAdapter来将数据传入ListActivity */
setListAdapter(new MyAdapter(this,item,value));
}
}