首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Android从SIM获取MSISDN

使用Android从SIM获取MSISDN
EN

Stack Overflow用户
提问于 2011-12-20 04:49:36
回答 1查看 42.7K关注 0票数 11

我正在尝试使用Android从SIM检索MSISDN,我尝试过使用getLine1Number(),但这只返回存储在我的电话信息或所有者信息部分中的MSISDN,如果这些信息未被存储,Android将返回一个空值。

你知道这附近有什么工作吗?还是有一种方法从SIM编号(getSimSerialNumber())?派生MSISDN?

如往常一样等待一个确切的答案!!)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-20 04:59:40

MSISDN (也就是移动电话号码)不是SIM数据,因此您无法检索它。SIM卡具有一个IMSI (International ),它被发送到HLR (归属位置寄存器),负责执行映射MSISDN/IMSI。如果移动电话运营商愿意的话,他们可以将MSISDN存储在SIM卡上,但由于GSM协议并不要求这样做,所以并不需要。

抱歉的!

有关更多信息,请参见本文的讨论获取电话号码android如何获得MSISDN

编辑:

要获得IMSI号码,

代码语言:javascript
复制
 TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
 String imsi = mTelephonyMgr.getSubscriberId();

但是一些手机只返回6位,而不是15位。

根据这篇文章:ids-t446.html

代码语言:javascript
复制
String imei = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMSI);

有关更多信息,请参阅这个问题类SystemProperties

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8570945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档