【问题标题】:getLine1Number() is not working [duplicate]getLine1Number()不起作用[重复]
【发布时间】:2012-10-26 10:33:03
【问题描述】:

我想使用 android 获取 SIM 电话号码,但是当我得到号码时,长度为零! 这是代码:

TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(getApplicationContext().TELEPHONY_SERVICE);
String s=mTelephonyMgr.getLine1Number();
Toast.makeText(getBaseContext(), "The length is "+s.length(), Toast.LENGTH_LONG).show();

但它会吐司“长度为零”。当我打印数字时,它不会打印任何内容。 谁能给我一个解决方案?

【问题讨论】:

  • 您是否插入了 SIM 卡或者您正在模拟器中进行测试?
  • 有些 SIM 卡不提供这些信息
  • 在模拟器上可以,但在我的手机上不行。
  • getLine1Number() 返回 SIM 卡上的电话号码。有时电话号码在 SIM 卡上,有时不在。有时它是错误的。获取用户电话号码的唯一可靠方法是向他索取。

标签: android


【解决方案1】:

获取 SIM 号码

 TelephonyManager telemamanger = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
    String getSimSerialNumber = telemamanger.getSimSerialNumber();

获取电话号码

TelephonyManager tMgr =(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
  mPhoneNumber = tMgr.getLine1Number();

如果适用,这将向您显示其他显示this

【讨论】:

  • 它没有显示我的电话号码-_-
  • 你想要什么sim或电话号码?
  • 我需要电话号码
【解决方案2】:

哥们我也遇到过,最后我知道 this 解决方案

【讨论】:

  • 我也见过这个问题,它高度依赖 SIM 和设备。您不能保证 Android 能够为您提供设备电话号码。
猜你喜欢
  • 2014-02-25
  • 2011-01-27
  • 2015-05-18
  • 1970-01-01
  • 1970-01-01
  • 2018-01-04
  • 2013-08-11
  • 2017-07-19
  • 2015-07-04
相关资源
最近更新 更多