android的TelephoneManager

详细信息见; http://blog.csdn.net/aiqing0119/article/details/7842557
1.Call
2.DATA
3.NETWORK
4.PhoneType
5.SMS

one 获得手机的串号IMEI

##IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的”电子串号”,它与每台手机一一对应,而且该码是全世界唯一的。每一部手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。手机用户可以在手机中查到自己手机的IMEI码。

 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
//新建一个Telephonemanager的对象:
TelephonyManager telephonemanage = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);   
String chuahao=telephonemanage.getDeviceId();

two 获得手机的IMSI

国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。其总长度不超过15位,同样使用0~9的数字。其中MCC是移动用户所属国家代号,占3位数字,中国的MCC规定为460;MNC是移动网号码,由两位或者三位数字组成,中国移动的移动网络编码(MNC)为00;用于识别移动用户所归属的移动通信网;MSIN是移动用户识别码,用以识别某一移动通信网中的移动用户。

//这个经电信的手机测试获取到的是状态信息里的MIN号
 String imsi = tm.getSubscriberId();

three 拿到手机号码

注意,手机号码不是所有的都能获取。只是有一部分可以拿到。这个是由于移动运营商没有把手机号码的数据写入到sim卡中。这个就像是一个变量,当移动运营商为它赋值了,它自然就会有值。不赋值自然为空。这就是为什么很多人得不到本机号码的原因

String tel = tm.getLine1Number();

four

手机型号 Build.MODEL
sdk版本 Build.VERSION.SDK
frimware版本号(系统版本号) Build.VERSION.RELEASE

        text1 = (TextView) findViewById(R.id.text1);
        TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
        String imei = tm.getDeviceId();
        String imsi = tm.getSubscriberId();
        String number = tm.getLine1Number();
         text1.setText(imei+": \n"+imsi+":\n"+number+
                "Product Model: " + android.os.Build.MODEL + ","

                + android.os.Build.VERSION.SDK + ","

                + android.os.Build.VERSION.RELEASE);
posted @ 2016-06-22 22:56  Tesi1a  阅读(172)  评论(0编辑  收藏  举报