Android 获取本机号码(收集)
来源:互联网 发布:大数据运维管理 编辑:程序博客网 时间:2024/04/28 17:38
SIM卡存储的数据可分为四类:
第一类是固定存放的数据。这类数据在移动电话机被出售之前由SIM卡中心写入,包括国际移动用户识别号(IMSI)、鉴权密钥(KI)、鉴权和加密算法等等。
第二类是暂时存放的有关网络的数据。如位置区域识别码(LAI)、移动用户暂时识别码(TMSI)、禁止接入的公共电话网代码等。
第三类是相关的业务代码,如个人识别码(PIN)、解锁码(PUK)、计费费率等。
第四类是电话号码簿,是手机用户随时输入的电话号码。用户全部资料几乎都存储在SIM卡内,因此SIM卡又称为用户资料识别卡。
IMSI是一个唯一的数字, 标识了GSM和UMTS
IMEI也是一串唯一的数字, 标识了GSM
1)IMEI不存在于SIM卡中,它是手机本身的串号。
2)
3)
4)
下面给出获取手机本机号码的代码:
添加权限:
注意,手机号码不是所有的都能获取。只是有一部分可以拿到。这个是由于移动运营商没有把手机号码的数据写入到sim卡中。这个就像是一个变量,当移动运营商为它赋值了,它自然就会有值。不赋值自然为空。这就是为什么很多人得不到本机号码的原因。
对于移动的用户,手机号码(MDN)保存在运营商的服务器中,而不是保存在SIM卡里。SIM卡只保留了IMSI和一些验证信息。手机每次入网注册的时候,都会以短信的形式将IMSI及验证信息上传到运营商的服务器,服务器在完成注册动作之后,会以短信的形式将注册的结果下发到手机里。下发的内容会因条件不同而不同。
网络上有朋友提出了下面的解决方案:
给10086发个短信就行了,然后获取发件箱中的发件人号码...反正给10086发短信或者打电话是免费的 ,但是你得注意了
1、获取发件箱中的发件人号码后你得把发件箱中记录删除;
2、就是你还要拦截10086给你回复的短信,不然会有个notification显示在屏幕上方,提示10086发来个短信,让你查看;
这些都是为了取得本机号码的任务下,但同时又提高了用户的体验度...明白吗?
但是,有很多人说在收到的短信中没有收件人号码,所以可能还是取不到手机号码(还未测试过)
•客户端获取:在客户端对移动用户而言只能够获取诸如IMSI、IMEI号等,并不能直接获得手机号。而对电信CDMA机卡合一用户可以获取手机号码。
•服务器端获取:在早期的移动白名单中是能够获得明文的手机号的,最近移动策略变了,手机号变成了天书般的唯一串号。因此目前从服务器端直接获取手机号也不行了。
•通过短信方式:让用户上行一条短信,通过短信网关获取用户手机号,从而将用户id与手机号绑定
- Android 获取本机号码(收集)
- Android 获取本机号码(收集)
- Android 获取本机号码(收集)
- Android 获取本机号码
- Android获取本机号码(双卡双待无法获取两个号码)
- Android获取本机号码(双卡双待无法获取两个号码)
- Android获取本机号码、IMEI等
- android获取本机号码,版本号,手机型号
- Android 本机号码的获取
- Android 本机号码的获取
- Android 本机号码的获取
- Android 本机号码的获取
- Android 本机号码的获取
- Android 本机号码的获取
- Android如何获取手机本机号码
- 获取本机号码
- 获取本机号码
- 总结,获取本机号码
- kali linux web渗透测试学习笔记
- C++ 11 for-range 访问容器简单实现
- Eclipse解决“Archive for required library: ...”错误
- 正则的贪婪模式/preg_match/preg_match_all
- nodejs基础: 如何升级Noejs版本
- Android 获取本机号码(收集)
- js中方法和函数,函数的两种写发都是什么情况
- 日志记录—项目日志处理方案
- postgresql分表及数据迁移
- 小白的github个人博客稳搭绕坑详解
- CSS备忘录
- 做Android中遇到的问题,集锦
- 有关反射的一些理解
- Linux内核的整体架构