`
夏文权
  • 浏览: 242187 次
  • 性别: Icon_minigender_1
  • 来自: 贵州
社区版块
存档分类
最新评论

取得SIM卡内的信息

阅读更多

1,主程序:

 

package xom.xia;

import java.util.ArrayList;
import java.util.List;
import android.app.ListActivity;
import android.os.Bundle;
import android.telephony.TelephonyManager;
/**
 * android的API中TelephonyManager的类对象,
 * 提供了几个方法可以快速取得SIM卡的状态及相关信息
 * @author Administrator
 *
 */
public class TelephonyManagerActivity extends ListActivity {
	
	private TelephonyManager telephonyManager;
	private List<String> item = new ArrayList<String>();
	private List<String> value = new ArrayList<String>();
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        
        telephonyManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
        
        /**
         * 将取得的信息写入List中
         */
        
        //1,取得SIM卡的状态
        item.add(getResources().getText(R.string.str_sim_state).toString());
        if(telephonyManager.getSimState() == telephonyManager.SIM_STATE_READY){
        	value.add("良好");
        }else if(telephonyManager.getSimState() == telephonyManager.SIM_STATE_ABSENT){
        	value.add("无SIM卡");
        }else{
        	value.add("SIM卡被锁或未知状态");
        }
        
        //2,取得SIM卡号
        item.add(getResources().getText(R.string.str_sim_card_id).toString());
        if(telephonyManager.getSimSerialNumber() != null){
        	value.add(telephonyManager.getSimSerialNumber());
        }else {
        	value.add("无法取得");
        }
        
        //3,取得SIM卡供货商代码
        item.add(getResources().getText(R.string.str_sim_supplier_code).toString());
        if(telephonyManager.getSimOperator().equals("")){
        	value.add("无法取得");
        }else{
        	value.add(telephonyManager.getSimOperator());
        }
        
        //4,取得SIM卡供应商的名称
        item.add(getResources().getText(R.string.str_sim_supplier_name).toString());
        if(telephonyManager.getSimOperatorName().equals("")){
        	value.add("无法取得");
        }else{
        	value.add(telephonyManager.getSimOperatorName());
        }
        
        //5,取得SIM卡国别
        item.add(getResources().getText(R.string.str_sim_area).toString());
        if(telephonyManager.getSimCountryIso().equals("")){
        	value.add("无法取得");
        }else{
        	value.add(telephonyManager.getSimCountryIso());
        }
        
        
        //6,最后使用自定义的容器MyAdapter来将数据传入ListActivity
        setListAdapter(new MyAdapter(this,item,value));
    }
}

2,容器类MyAdapter,
package xom.xia;


import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListAdapter;
import android.widget.TextView;

public class MyAdapter extends BaseAdapter implements ListAdapter {
	
	/* 声明变量 */
	private LayoutInflater layoutInflater;
	private List<String> items;
	private List<String> values;
	
	public MyAdapter(Context context,List<String> items,List<String> values){
		this.layoutInflater = LayoutInflater.from(context);
		this.items = items;
		this.values = values;
	}
	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return items.size();
	}

	@Override
	public Object getItem(int position) {
		// TODO Auto-generated method stub
		return position;
	}

	@Override
	public long getItemId(int position) {
		// TODO Auto-generated method stub
		return position;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		// TODO Auto-generated method stub
		ViewHolder holder;
		
		if(convertView == null){
		/*
		 * 使用自定义的result作为Layout,
		 */
		
		convertView = layoutInflater.inflate(R.layout.result, null);
		
		/*
		 * 初始化holder的text和icon
		 */
		holder = new ViewHolder();
		holder.text1 = (TextView)convertView.findViewById(R.id.myTextVivew);
		holder.text2 = (TextView)convertView.findViewById(R.id.myText2);
		
		convertView.setTag(holder);
		
		}else{
			 holder = (ViewHolder) convertView.getTag();
		}
		
		 /* 设定要显示的信息 */
		holder.text1.setText(items.get(position).toString());
		holder.text2.setText(values.get(position).toString());
		
		return convertView;
	}
	 private class ViewHolder {
	 
	    /* text1:信息名称
	     * text2:信息内容 */
	    TextView text1;
	    TextView text2;
	  }
}
 

 3,文件权限的配置:<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>

  • 大小: 28.9 KB
分享到:
评论

相关推荐

    基于GSM的无人值守停车场管理系统设计

    9. 通信模块的初始化:由于SIM卡容量很小,因此在接收短信时,需将新信息直接通过串口传送到单片机,不存储在SIM卡内,但还需要打开传送回报,以便单片机及时读取短信。 本文设计的基于GSM的无人值守停车场管理系统...

    google android sdk开发范例大全 第二版 PDF 光盘代码

     5.18 取得SIM卡内的信息   5.19 调用拨号按钮   5.20 DPAD按键处理   5.21 任务 .管.理. 器正在运行的程序   5.22 动态更改屏幕方向   5.23 系统设置更改事件   5.24 取得电信网络与手机...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...

    Google+Android+SDK开发范例大全

    5.16 取得目前File与Cache的路径——getCacheDir与getFilesDir 5.17 打开/关闭WiFi服务——WifiManager状态判断 5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 ...

    Google Android SDK开发范例大全的目录

    5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 ...

    Google Android SDK 开发范例大全01

    5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...

    Google Android SDK 开发范例大全02

    5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...

    Google Android sdk 开发范例大全 部分章节代码

    5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...

    Google Android SDK开发范例大全(完整版)

    5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...

Global site tag (gtag.js) - Google Analytics