`

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技巧学习4个应用实例含源码

    Android远程登录实例含说明doc,listview 获取sim中的号码与姓名并显示出来实例,手机sd卡资源管理器实例,一个简单的显示天气状况的Widget实例

    android手机安全卫士

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

    天天手机助手

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

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

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

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

    5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 6.1 您有一条短信popup提醒——常驻BroadcastReceiver的应用 6.2 手机电池计量还剩多少...

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

    5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 6.1 您有一条短信popup提醒——常驻BroadcastReceiver的应用 6.2 手机电池计量还剩多少...

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

    5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 6.1 您有一条短信popup提醒——常驻BroadcastReceiver的应用 6.2 手机电池计量还剩多少...

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

    5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 –p254 6.1 您有一条短信popup提醒——常驻BroadcastReceiver的应用 6.2 手机电池计量还剩...

    Google+Android+SDK开发范例大全

    5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态更改屏幕方向——LANDSCAPE与PORTRAIT 5.23 系统设置更改事件——onConfigurationChanged信息处理 5.24 取得电信网络与手机相关信息——...

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

    5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 6.1 您有一条短信popup提醒——常驻BroadcastReceiver的应用 6.2 手机电池计量还剩多少...

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

    5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 –p254 6.1 您有一条短信popup提醒——常驻BroadcastReceiver的应用 6.2 手机电池计量还剩...

    Google Android SDK 开发范例大全01

    5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 –p254 6.1 您有一条短信popup提醒——常驻BroadcastReceiver的应用 6.2 手机电池计量还剩...

    Google Android SDK 开发范例大全02

    5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 –p254 6.1 您有一条短信popup提醒——常驻BroadcastReceiver的应用 6.2 手机电池计量还剩...

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

    5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 6.1 您有一条短信popup提醒——常驻BroadcastReceiver的应用 6.2 手机电池计量还剩多少...

Global site tag (gtag.js) - Google Analytics