Android读取sim卡信息实例

实例下载地址  http://download.youkuaiyun.com/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<String> item = new ArrayList<String>();
	private List<String> value = new ArrayList<String>();
	private ListView mListView;
	private List<Map<String, Object>> mData = new ArrayList<Map<String, Object>>();

	@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<String> itItem = item.iterator();
		Iterator<String> itValue = value.iterator();
		while (itItem.hasNext() && itValue.hasNext()) {
			HashMap<String, Object> map = new HashMap<String, Object>();
			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 效果图



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静山晚风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值