欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android获取手机号码和运营商信息的方法

程序员文章站 2022-04-12 12:25:16
本文实例讲述了android获取手机号码和运营商信息的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:package com.pei.activity...

本文实例讲述了android获取手机号码和运营商信息的方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:
package com.pei.activity; 
 
import android.app.activity; 
import android.os.bundle; 
import android.view.view; 
import android.view.view.onclicklistener; 
import android.widget.button; 
import android.widget.textview; 
 
/**
 * class name:androidutilactivity<br>
 * class description:show get sim card info activity<br>
 * ps:注意权限 <br>
 * date:2012-3-12<br>
 * @version 1.00
 * @author codyy)peijiangping
 */ 
public class androidutilactivity extends activity { 
    private button button_getsiminfo; 
    private textview number; 
    private textview privoid; 
 
    @override 
    public void oncreate(bundle savedinstancestate) { 
        super.oncreate(savedinstancestate); 
        setcontentview(r.layout.main); 
        button_getsiminfo = (button) this.findviewbyid(r.id.getsiminfo); 
        number = (textview) this.findviewbyid(r.id.textview1); 
        privoid = (textview) this.findviewbyid(r.id.textview2); 
        button_getsiminfo.setonclicklistener(new buttonlistener()); 
    } 
 
    class buttonlistener implements onclicklistener { 
 
        @override 
        public void onclick(view v) { 
            if (v == button_getsiminfo) { 
                simcardinfo siminfo = new simcardinfo(androidutilactivity.this); 
                system.out.println(siminfo.getprovidersname()); 
                system.out.println(siminfo.getnativephonenumber()); 
                number.settext(siminfo.getnativephonenumber()); 
                privoid.settext(siminfo.getprovidersname()); 
            } 
        } 
 
    } 
}

复制代码 代码如下:
package com.pei.activity; 
 
import android.content.context; 
import android.telephony.telephonymanager; 
 
/**
 * class name:simcardinfo<br>
 * class description:读取sim卡信息<br>
 * ps: 必须在加入各种权限 <br>
 * date:2012-3-12<br>
 * 
 * @version 1.00
 * @author codyy)peijiangping
 */ 
public class simcardinfo { 
    /**
     * telephonymanager提供设备上获取通讯服务信息的入口。 应用程序可以使用这个类方法确定的电信服务商和国家 以及某些类型的用户访问信息。
     * 应用程序也可以注册一个监听器到电话收状态的变化。不需要直接实例化这个类
     * 使用context.getsystemservice(context.telephony_service)来获取这个类的实例。
     */ 
    private telephonymanager telephonymanager; 
    /**
     * 国际移动用户识别码
     */ 
    private string imsi; 
 
    public simcardinfo(context context) { 
        telephonymanager = (telephonymanager) context 
                .getsystemservice(context.telephony_service); 
    } 
 
    /**
     * role:获取当前设置的电话号码
     * <br>date:2012-3-12
     * <br>@author codyy)peijiangping
     */ 
    public string getnativephonenumber() { 
        string nativephonenumber=null; 
        nativephonenumber=telephonymanager.getline1number(); 
        return nativephonenumber; 
    } 
 
    /**
     * role:telecom service providers获取手机服务商信息 <br>
     * 需要加入权限<uses-permission
     * android:name="android.permission.read_phone_state"/> <br>
     * date:2012-3-12 <br>
     * 
     * @author codyy)peijiangping
     */ 
    public string getprovidersname() { 
        string providersname = null; 
        // 返回唯一的用户id;就是这张卡的编号神马的 
        imsi = telephonymanager.getsubscriberid(); 
        // imsi号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。 
        system.out.println(imsi); 
        if (imsi.startswith("46000") || imsi.startswith("46002")) { 
            providersname = "中国移动"; 
        } else if (imsi.startswith("46001")) { 
            providersname = "中国联通"; 
        } else if (imsi.startswith("46003")) { 
            providersname = "中国电信"; 
        } 
        return providersname; 
    } 
}

复制代码 代码如下:
<?xml version="1.0" encoding="utf-8"?> 
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" android:gravity="center"> 
 
    <textview 
        android:id="@+id/textview1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="textview" /> 
 
    <textview 
        android:id="@+id/textview2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="textview" /> 
 
    <button 
        android:id="@+id/getsiminfo" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="获取手机号" />

希望本文所述对大家的android程序设计有所帮助。