您的位置:首页 > 移动开发 > Android开发

Android 获取手机号码及IMEI码

2012-08-10 10:57 519 查看
package cn.sd.sx.atelimei;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.widget.TextView;

/**
* IMEI(International Mobile Equipment Identity)
* 是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的"电子串号",
* 它与每台手机一一对应,而且该码是全世界唯一的。每一只手机在组装完成后都将被赋予一个
* 全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。
*
*
* (IMSI:International Mobile SubscriberIdentification Number)
* 是国际移动用户识别码的缩写,是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。
* 其总长度不超过15位,同样使用0~9的数字,结构为:MCC+MNC+MSIN。其中MCC是移动用户所属国家代号,占3位数字,
* 中国的MCC规定为460;MNC是移动网号码,最多由两位数字组成,用于识别移动用户所归属的移动通信网;
* MSIN是移动用户识别码,用以识别某一移动通信网中的移动用户。
*

* ICCID:Integrate circuit card identity 集成电路卡识别码(固化在手机SIM卡中)
* ICCID为IC卡的唯一识别号码,共有20位数字组成,其编码格式为:XXXXXX 0MFSS YYGXX XXXXX。
* 分别介绍如下: 前六位运营商代码:中国移动的为:898600;中国联通的为:898601。
*
*
* IMSI:国际移动用户号码标识;
* MSISDN:mobile subscriber ISDN用户号码,这个是我们说的139,136那个号码,说白了就是手机号;
* ICCID:ICC identity集成电路卡标识,这个是唯一标识一张卡片物理号码的;
* IMEI:international mobile Equipment identity手机唯一标识码;
*
* 需要权限:<uses-permission android:name="android.permission.READ_PHONE_STATE" />
*
* */
public class ATelAndIMEIActivity extends Activity {

private TextView show;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
show = (TextView) findViewById(R.id.show);

StringBuffer sb = new StringBuffer();

TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
String IMEI = tm.getDeviceId();
String TEL = tm.getLine1Number();
String ICCID = tm.getSimSerialNumber();
String IMSI = tm.getSubscriberId();

sb.append("IMEI:");
sb.append(IMEI);
sb.append("\nTEL:");
sb.append(TEL);
sb.append("\nICCID:");
sb.append(ICCID);
sb.append("\nIMSI:");
sb.append(IMSI);
show.setText(sb);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: