zoukankan      html  css  js  c++  java
  • Android 读SIM卡信息

    TelephonyManager的应用

           手机的最主要功用就是打电话,如果没有电信公司提供的SIM卡,就不能正常地拨打电话,那么,我们有什么方法可以取得SIM卡的状态及相关资料呢?

           Android API中的TelephonyManager(Android.telephony.TelephonyManager)对象,提供了几个方法可以快速取得SIM卡的状态及相关信息。
    程序中以getSystemService(TELEPHONY_SERVICE)来取得TelephonyManager对象,以TelephonyManager提供的方法来取得SIM卡状态及相关信息,将取得的信息存入自定义的MyAdapter中,最后以setListAdapter()将MyAdpter内的信息显示于ListView中。

    View Code
      1 import android.telephony.TelephonyManager; 
    2
    3
    4
    5 public class EX05_18 extends ListActivity {
    6
    7 private TelephonyManager telMgr;
    8
    9 private List<String> item=new ArrayList<String>();
    10
    11 private List<String> value=new ArrayList<String>();
    12
    13
    14
    15 @SuppressWarnings("static-access")
    16
    17 @Override
    18
    19 public void onCreate(Bundle savedInstanceState) {
    20
    21 super.onCreate(savedInstanceState);
    22
    23 /* 载入main.xml Layout */
    24
    25 setContentView(R.layout.main);
    26
    27 telMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
    28
    29 /* 将取得的信息写入List中 */
    30
    31 /* 取得SIM卡状态 */
    32
    33 item.add(getResources().getText(R.string.str_list0).toString());
    34
    35 if(telMgr.getSimState()==telMgr.SIM_STATE_READY) {
    36
    37 value.add("良好");
    38
    39 } else if(telMgr.getSimState()==telMgr.SIM_STATE_ABSENT) {
    40
    41 value.add("无SIM卡");
    42
    43 } else {
    44
    45 value.add("SIM卡被锁定或未知的状态");
    46
    47 }
    48
    49 /* 取得SIM卡卡号 */
    50
    51 item.add(getResources().getText(R.string.str_list1).toString());
    52
    53 if(telMgr.getSimSerialNumber()!=null) {
    54
    55 value.add(telMgr.getSimSerialNumber());
    56
    57 } else {
    58
    59 value.add("无法取得");
    60
    61 }
    62
    63 /* 取得SIM卡供货商代码 */
    64
    65 item.add(getResources().getText(R.string.str_list2).toString());
    66
    67 if(telMgr.getSimOperator().equals("")) {
    68
    69 value.add("无法取得");
    70
    71 } else {
    72
    73 value.add(telMgr.getSimOperator());
    74
    75 }
    76
    77 /* 取得SIM卡供货商名称 */
    78
    79 item.add(getResources().getText(R.string.str_list3).toString());
    80
    81 if(telMgr.getSimOperatorName().equals("")) {
    82
    83 value.add("无法取得");
    84
    85 } else {
    86
    87 value.add(telMgr.getSimOperatorName());
    88
    89 }
    90
    91 /* 取得SIM卡国别 */
    92
    93 item.add(getResources().getText(R.string.str_list4).toString());
    94
    95 if(telMgr.getSimCountryIso().equals("")) {
    96
    97 value.add("无法取得");
    98
    99 } else {
    100
    101 value.add(telMgr.getSimCountryIso());
    102
    103 }
    104
    105 /* 使用自定义的MyAdapter来将数据传入ListActivity */
    106
    107 setListAdapter(new MyAdapter(this,item,value));
    108
    109 }
    110
    111
    112
    113 }




  • 相关阅读:
    MVC 以内容字节数组形式 实现文件上传 下载
    iis+php+mysql 错误 Call to undefined function mysql_connect()的解决办法
    IIS环境下快速安装、配置和调试PHP5.2.0
    lineheight 在IE6 下失效的问题 解决办法(已经亲手验证)
    基于SOA的体系架构设计
    图片切割系统,这个比较完整了
    MS SQL Server中文版的預設日期datetime格式是yyyymmdd hh:mm:ss.mmm
    “应用程序或DLL C:\WINDOWS\system32\PNCRT.dll为无效的windows映像”的解决方法
    php操作MySQL数据库语句基础
    播放电影有声音没图像
  • 原文地址:https://www.cnblogs.com/weixing/p/2364561.html
Copyright © 2011-2022 走看看