`

ListView显示SIM相关信息

阅读更多
private TelephonyManager telMgr;
  private List<String> item = new ArrayList<String>();
  private List<String> value = new ArrayList<String>();

  @SuppressWarnings("static-access")
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    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
    {
      value.add("SIM卡被锁定或未知的状态");
    }

    /* 取得SIM卡卡号 */
    item.add(getResources().getText(R.string.str_list1).toString());
    if (telMgr.getSimSerialNumber() != null)
    {
      value.add(telMgr.getSimSerialNumber());
    } else
    {
      value.add("无法取得");
    }

    /* 取得SIM卡供货商代码 */
    item.add(getResources().getText(R.string.str_list2).toString());
    if (telMgr.getSimOperator().equals(""))
    {
      value.add("无法取得");
    } else
    {
      value.add(telMgr.getSimOperator());
    }

    /* 取得SIM卡供货商名称 */
    item.add(getResources().getText(R.string.str_list3).toString());
    if (telMgr.getSimOperatorName().equals(""))
    {
      value.add("无法取得");
    } else
    {
      value.add(telMgr.getSimOperatorName());
    }

    /* 取得SIM卡国别 */
    item.add(getResources().getText(R.string.str_list4).toString());
    if (telMgr.getSimCountryIso().equals(""))
    {
      value.add("无法取得");
    } else
    {
      value.add(telMgr.getSimCountryIso());
    }

    /* 使用自定义的MyAdapter来将数据传入ListActivity */
    setListAdapter(new MyAdapter(this, item, value));


适配器代码:
public class MyAdapter extends BaseAdapter
{
  /* 变量声明 */
  private LayoutInflater mInflater;
  private List<String> items;
  private List<String> values;

  /* MyAdapter的构造器,传入三个参数 */
  public MyAdapter(Context context, List<String> item,
      List<String> value)
  {
    /* 参数初始化 */
    mInflater = LayoutInflater.from(context);
    items = item;
    values = value;
  }

  /* 因继承BaseAdapter,需覆盖以下方法 */
  @Override
  public int getCount()
  {
    return items.size();
  }

  @Override
  public Object getItem(int position)
  {
    return items.get(position);
  }

  @Override
  public long getItemId(int position)
  {
    return position;
  }

  @Override
  public View getView(int position, View convertView, ViewGroup par)
  {
    ViewHolder holder;

    if (convertView == null)
    {
      /* 使用自定义的file_row作为Layout */
      convertView = mInflater.inflate(R.layout.row_layout, null);
      /* 初始化holder的text与icon */
      holder = new ViewHolder();
      holder.text1 = (TextView) convertView.findViewById(R.id.myText1);
      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
  {
    TextView text1;
    TextView text2;
  }
分享到:
评论
1 楼 edison_cool911 2010-09-10  
  <string name="str_list0">SIM卡状态</string>
  <string name="str_list1">SIM卡卡号</string>
  <string name="str_list2">SIM卡供应商代号</string>
  <string name="str_list3">SIM卡供应商名称</string>
  <string name="str_list4">SIM卡国别</string>

相关推荐

    Android 读取SIM卡信息代码(完整工程)

    在ListActivity的布局文件(如list_activity.xml)中,我们可以定义一个ListView,用于显示SIM卡信息。例如: ```xml &lt;ListView android:id="@android:id/list" android:layout_width="match_parent" android:...

    SIM卡数据读取Dome

    1. `Form1.cs`: 主窗体文件,其中包含了UI设计,如数据列表控件(ListView或DataGridView)用于显示电话簿和短信,以及滚动条控件(VScrollBar或HScrollBar)用于进度控制。 2. `Program.cs`: 应用程序的启动点,...

    ListView与CheckBox

    - Adapter是连接ListView和数据源的桥梁,负责将数据转化为ListView可显示的视图。 - 自定义Adapter类,通常继承自BaseAdapter或ArrayAdapter,重写方法如`getView()`来定制ListView的每个条目显示。 3. **...

    获取手机信息

    适配器将数据集与ListView的视图进行绑定,这样每个条目都可以显示不同的信息。在本例中,适配器可能包含了一个包含手机信息的列表,如CPU信息、电池状态、网络连接类型、SIM卡信息等。 接着,获取手机信息的过程...

    获取手机通讯录和sim卡通讯录并按字母排序

    文件名"SortListView"可能指的是一个实现了这种排序功能的ListView组件或者与其相关的类。在实际项目中,这个类可能包含了ListView的初始化、Adapter的设置、以及首字母排序的逻辑。 总结起来,获取手机和SIM卡...

    Android项目获取手机通讯录的实战应用(含SIM卡中的联系人).rar

    总结,这个实战应用项目涵盖了Android开发中获取手机通讯录的基本操作,包括读取设备内部存储和SIM卡中的联系人信息,以及处理和显示这些数据的方法。通过学习和实践,开发者能够熟练掌握这一关键功能的实现。

    Android应用源码获取手机通讯录的实战应用(含SIM卡中的联系人-IT计算机-毕业设计.zip

    6. **数据展示**:获取到联系人数据后,可以将其显示在ListView、RecyclerView等控件中。可以创建自定义Adapter,将联系人信息绑定到视图上。 7. **优化性能**:为了提高性能,可以在查询时使用`loadContactPhoto()...

    Android应用源码获取手机通讯录的实战应用(含SIM卡中的联系人).zip

    4. **处理联系人数据**:获取到联系人信息后,可以进行各种操作,如显示在ListView或RecyclerView中,或者保存到本地数据库等。 5. **优化性能**:为了提高效率,可以使用CursorLoader,它会在后台线程中加载数据,...

    Android课程设计--基于Android的手机安全卫士.doc

    SIM卡信息模块使用TelephonyManager对象获取手机状态信息,并将信息显示在ListView中。通讯卫士模块使用PhoneStateListener监听手机通话状态,并将来电号码记录到文件中。文件管理模块使用File类和FileList类管理...

    Android技巧学习4个应用实例含源码

    2. **ListView获取SIM中的号码与姓名并显示出来** 利用Android的电话服务API,可以获取SIM卡信息,这在一些需要识别用户设备的场景中很有用。关键知识点包括: - 请求读取电话状态的权限(`READ_PHONE_STATE`)。 ...

    ManageSimMessages.rar_On the List

    在移动通信中,SIM(Subscriber Identity Module)卡是手机中的一个重要组件,它存储了用户的身份信息、联系人以及短信等数据。这个应用或模块可能是一个用于管理和查看SIM卡上短信消息的程序。 描述中提到的 ...

    Android中TelephonyManager类的用法案例详解

    ListView用于显示从TelephonyManager获取的数据,包括设备编号、SIM卡国别、SIM卡序列号等。 接着,`array.xml`文件定义了两个字符串数组资源:`listItem`和`simState`,分别对应ListView的列表项标题和SIM卡状态的...

    android自己的电话簿源代码

    "android自己的电话簿源代码"项目旨在帮助开发者了解如何从SIM卡和SQLite数据库中获取联系人信息,并实现拨打电话的功能。下面将详细解析这个项目的相关知识点。 1. **Android权限管理**: 在Android应用中,访问...

    android手机安全卫士

    根据预设参数, 判断手机是否被盗,根据自定义协议发送手机中sim卡的信息和手机的位置信息给安全号码. 可以自定义特殊号码,拨号快速进入手机防盗功能,可远程通过短信指令,给手机设置锁屏密码, 远程锁定手机屏幕, 远程...

    天天手机助手

    Android常用UI组件(seekBar、ScrollView…)、SQLite数据库的使用、TabHost选项卡、服务管理类(ActivityManager、TelephonyManager、AlarmManager)、参数传递、广播BroadcastReceiver、ListView、GridView、...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--系统信息之获得手机sim卡序列号 |--缓存优化之几种方案lastModified |--缓存优化之本地缓存优化(超过规定值或SD卡容量不够时) |--网络post提交查询请求 |--网络之HttpClient的get和post用法 |--网络之判断网络...

    android MMS模块UI分析

    在`onStart()`中,根据SIM卡状态设置信息数量,并通过`GetMsgAllCountTask`计算各个文件夹的未读信息数。`onDestroy()`时,调用`unregisterAllReceive()`移除所有广播监听器。此外,菜单选项的加载和`msearchView`...

    J2ME手机通讯录

    利用文本绘制函数,我们可以将这些信息显示在Canvas上,形成类似于手机拨号屏幕的布局。 5. 缺失功能:尽管这个通讯录应用有基本的添加和删除功能,但缺乏修改和搜索功能。修改功能需要在选定联系人后提供编辑选项...

    Android4.1 Contacts源码

    Contacts表存储了用户可见的联系人信息,而RawContacts表则包含了从不同数据源(如Google账户、SIM卡等)导入的原始数据。这两张表通过一个映射关系进行关联,使得数据能够统一展现。 其次,Android4.1 Contacts...

Global site tag (gtag.js) - Google Analytics