获取本机号码:

获取本机号码,需要在配置文件中加入权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

本文中所讲的需求简单,明了,我说的简单指的是只有一个需求,不复要,不复合,就是一个,取得本机号码,请你看下面这代码

    TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
// 获取手机号码 String phoneId = tm.getLine1Number();
Log.i(phoneId,phoneId);

你猜会怎么样,取不到!奇怪吧,神奇吧~~~怎么的的,你就是没有办法取得本机号码,这是为什么呢,有何良策,我心里在想啊,肿么办!

我静心一想解决问题得找到问题所在,不然无从下手...经我google/baidu,找到了基本的原因和曲线救国之解决方法,现逻列如后:

第一点:造成原因

能否取得手机号码依赖于运营商是如何制作SIM卡的,所以有的可以取出,有的则不行。看吧,这不全是你的错,哈哈~~~

第二点:解决方案

给10086发个短信就行了,然后获取发件箱中的发件人号码...反正给10086发短信或者打电话是免费的 ,但是你得注意了

1、获取发件箱中的发件人号码后你得把发件箱中记录删除;

2、就是你还要拦截10086给你回复的短信,不然会有个notification显示在屏幕上方,提示10086发来个短信,让你查看;

这些都是为了取得本机号码的任务下,但同时又提高了用户的体验度...明白吗?

获取IMSI和IMEI需要在配置文件中加入权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

获取IMEI号码:

(1)IMEI(International Mobile Equipment Identity,国际移动身份识别码):是由15位数字组成的”电子串号”,其组成结构为TAC(6位数字)+FAC(两位数字)+SNR(6位数字)+SP (1位数字)。它与每台手机一一对应,而且该码是全世界唯一的。每一只手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。 IMEI码贴在手机背面的标志上,并且读写于手机内存中。它也是该手机在厂家的”档案”和”身份证号”。

   /**
* 获取手机IMEI号
*/
public static String getIMEI(Context context) {
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(context.TELEPHONY_SERVICE);
String imei = telephonyManager.getDeviceId(); return imei;
}

获取IMSI号码:

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

    /**
* 获取手机IMSI号
*/
public static String getIMSI(Context context){
TelephonyManager mTelephonyMgr = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
String imsi = mTelephonyMgr.getSubscriberId(); return imsi ;
}

原文链接:android如何获取本机号码

【Android】如何获取本机号码、IMSI、EMSI的更多相关文章

  1. android 获取本机号码需要root吗?

    首先要明白,有的手机是获取不到自身的手机号的, 查了些资料,有以下两种方式可以获取到:      1. 通过对方给你发短信,打电话获取本机号码:       2. 还有一个就是通过APN来查询,但是这 ...

  2. Android实现获取本机中所有图片

    本示例演示如何在Android中使用加载器(Loader)来实现获取本机中的所有图片,并进行查看图片的效果. 在这个示例中,我使用android-support-v4.jar中的加载器(Loader) ...

  3. 【转】Android 获取本机号码(收集)

    SIM卡存储的数据可分为四类: 第一类是固定存放的数据.这类数据在移动电话机被出售之前由SIM卡中心写入,包括国际移动用户识别号(IMSI).鉴权密钥(KI).鉴权和加密算法等等. 第二类是暂时存放的 ...

  4. Android获取本机号码及运营商

    import android.content.Context; import android.telephony.TelephonyManager; import android.util.Log; ...

  5. 【android】获取本机ip地址

    方法是利用网址:http://pv.sohu.com/cityjson?ie=utf-8,返回String类型的ip地址: public static String getNetIp() { Stri ...

  6. android 获取本机SMI卡号码

    //获取手机号码 TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); S ...

  7. Android编程获取手机型号,本机电话号码,sdk版本号及firmware版本号号(即系统版本号号)

    Android开发平台中,可通过TelephonyManager 获取本机号码. TelephonyManager phoneMgr=(TelephonyManager)this.getSystemS ...

  8. android手机获取手机号

    最近做到一个项目,需要获取手机号.项目中使用的手机卡为电信卡,那么就以此为例吧. 网上不符合需求的方法 Google了一下,网上的做法如下: //获取手机号码 TelephonyManager tm  ...

  9. Android本机号码及Sim卡状态的获取

    SIM卡存储的数据可分为四类:第一类是固定存放的数据.这类数据在移动电话机被出售之前由SIM卡中心写入,包括国际移动用户识别号(IMSI).鉴权密钥(KI).鉴权和加密算法等等.第二类是暂时存放的有关 ...

随机推荐

  1. IDEA初使用:解决搜狗输入法不跟随BUG

    IDEA初使用:解决搜狗输入法不跟随BUG https://blog.csdn.net/qq_27905183/article/details/79119237 嗯,学习了: 然而,效果不明显:

  2. [Functional Programming] Running though a serial number prediction functions for tagging, pairing the result into object

    Let's we have some prediction functions, for each prediction function has a corresponding tag: const ...

  3. Solr搭建真实项目

    在经过solr5.4.1 quick start  的学习后.我们要搭建真实的项目了 1.启动项目 bin/solr start 2.创建core bin/solr create -c pms 3.为 ...

  4. windows系统tomcat日志输出至catalina.out配置说明

    转自:https://blog.csdn.net/liubowin/article/details/48001947 1.修改bin/startup.bat文件 修改前:call "%EXE ...

  5. VMware 安装Arch Linux记录

    首先说明一下我的环境. 1.VMware Workstation 10.0.1 build-1379776 2.archlinux-2014.02.01-dual.iso 首先建立虚拟机,其他的不提了 ...

  6. ArcGIS10.4 Runtime Error R6034

    现在甲方采购的ArcGIS Desktop正版,一般都是较高的版本(10.4或10.4.1),但10.4经常报出C++ Runtime R6034错误. 问题 "Microsoft Visu ...

  7. javascript常用的方法(二)

    //判断页面加载完毕 document.onreadystatechange = function () { if (document.readyState == "complete&quo ...

  8. 更新image的方法

    1. 修改container 1.1 执行 docker images 查看目前的所有images: REPOSITORY       TAG                 IMAGE ID     ...

  9. Linux内核配置:Makefile目标

    在顶层Linux源码目录中输入命令make help,它会显示一长串从源码树中生成的目标列表.最常见的使用make的方式是不指定目标,在这种情况下,它会生成内核ELF文件vmlinux和针对所选架构的 ...

  10. 关于Storm 中Topology的并发度的理解

    来自:https://storm.apache.org/documentation/Understanding-the-parallelism-of-a-Storm-topology.html htt ...