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());
}
}
}
}
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;
}
}
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="获取手机号" />
<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程序设计有所帮助。