Android读取SIM卡信息

本文将介绍如何在Android应用中获取SIM卡的状态、序列号、提供商代码、提供商名称、国别等详细信息,并展示如何通过适配器将这些信息以列表形式展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.zeph.android.sim;

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 GetSIMinfoActivity 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("无法取得");

		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);

	}
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值