Android手机中获取手机号码和运营商信息

代码如下:

01 package com.pei.activity;
02  
03 import android.app.Activity;
04 import android.os.Bundle;
05 import android.view.View;
06 import android.view.View.OnClickListener;
07 import android.widget.Button;
08 import android.widget.TextView;
09  
10 /**
11  * class name:AndroidUtilActivity<BR>
12  * class description:show get sim card info activity<BR>
13  * PS:注意权限 <BR>
14  * Date:2012-3-12<BR>
15  * @version 1.00
16  * @author CODYY)peijiangping
17  */
18 public class AndroidUtilActivity extends Activity {
19     private Button button_getSIMInfo;
20     private TextView number;
21     private TextView privoid;
22  
23     @Override
24     public void onCreate(Bundle savedInstanceState) {
25         super.onCreate(savedInstanceState);
26         setContentView(R.layout.main);
27         button_getSIMInfo = (Button) this.findViewById(R.id.getSIMInfo);
28         number = (TextView) this.findViewById(R.id.textView1);
29         privoid = (TextView) this.findViewById(R.id.textView2);
30         button_getSIMInfo.setOnClickListener(new ButtonListener());
31     }
32  
33     class ButtonListener implements OnClickListener {
34  
35         @Override
36         public void onClick(View v) {
37             if (v == button_getSIMInfo) {
38                 SIMCardInfo siminfo = new SIMCardInfo(AndroidUtilActivity.this);
39                 System.out.println(siminfo.getProvidersName());
40                 System.out.println(siminfo.getNativePhoneNumber());
41                 number.setText(siminfo.getNativePhoneNumber());
42                 privoid.setText(siminfo.getProvidersName());
43             }
44         }
45  
46     }
47 }
01 package com.pei.activity;
02  
03 import android.content.Context;
04 import android.telephony.TelephonyManager;
05  
06 /**
07  * class name:SIMCardInfo<BR>
08  * class description:读取Sim卡信息<BR>
09  * PS: 必须在加入各种权限 <BR>
10  * Date:2012-3-12<BR>
11  *
12  * @version 1.00
13  * @author CODYY)peijiangping
14  */
15 public class SIMCardInfo {
16     /**
17      * TelephonyManager提供设备上获取通讯服务信息的入口。 应用程序可以使用这个类方法确定的电信服务商和国家 以及某些类型的用户访问信息。
18      * 应用程序也可以注册一个监听器到电话收状态的变化。不需要直接实例化这个类
19      * 使用Context.getSystemService(Context.TELEPHONY_SERVICE)来获取这个类的实例。
20      */
21     private TelephonyManager telephonyManager;
22     /**
23      * 国际移动用户识别码
24      */
25     private String IMSI;
26  
27     public SIMCardInfo(Context context) {
28         telephonyManager = (TelephonyManager) context
29                 .getSystemService(Context.TELEPHONY_SERVICE);
30     }
31  
32     /**
33      * Role:获取当前设置的电话号码
34      * <BR>Date:2012-3-12
35      * <BR>@author CODYY)peijiangping
36      */
37     public String getNativePhoneNumber() {
38         String NativePhoneNumber=null;
39         NativePhoneNumber=telephonyManager.getLine1Number();
40         return NativePhoneNumber;
41     }
42  
43     /**
44      * Role:Telecom service providers获取手机服务商信息 <BR>
45      * 需要加入权限<uses-permission
46      * android:name="android.permission.READ_PHONE_STATE"/> <BR>
47      * Date:2012-3-12 <BR>
48      *
49      * @author CODYY)peijiangping
50      */
51     public String getProvidersName() {
52         String ProvidersName = null;
53         // 返回唯一的用户ID;就是这张卡的编号神马的
54         IMSI = telephonyManager.getSubscriberId();
55         // IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。
56         System.out.println(IMSI);
57         if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) {
58             ProvidersName = "中国移动";
59         else if (IMSI.startsWith("46001")) {
60             ProvidersName = "中国联通";
61         else if (IMSI.startsWith("46003")) {
62             ProvidersName = "中国电信";
63         }
64         return ProvidersName;
65     }
66 }
01 <?xml version="1.0" encoding="utf-8"?>
02 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
03     android:layout_width="fill_parent"
04     android:layout_height="fill_parent"
05     android:orientation="vertical" android:gravity="center">
06  
07     <TextView
08         android:id="@+id/textView1"
09         android:layout_width="wrap_content"
10         android:layout_height="wrap_content"
11         android:text="TextView" />
12  
13     <TextView
14         android:id="@+id/textView2"
15         android:layout_width="wrap_content"
16         android:layout_height="wrap_content"
17         android:text="TextView" />
18  
19     <Button
20         android:id="@+id/getSIMInfo"
21         android:layout_width="wrap_content"
22         android:layout_height="wrap_content"
23         android:text="获取手机号码等信息" />
24  
25 </LinearLayout>
图片如下:

转自:http://blog.csdn.net/peijiangping1989/article/details/7344925

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值