【问题标题】:Get Mobile no from real device从真实设备获取手机号码
【发布时间】:2011-02-11 09:34:38
【问题描述】:

我想获取插入设备的 sim 卡的手机号码。我知道 android SDK TelephoneManger 是我们可以通过 getLine1Number() 方法获取它的类。但它总是返回空值。

查询:

  • 我可以获取手机号码吗 设备?
  • 它是依赖于 sim 还是在某些情况下 还依赖于设备?
  • 还有其他方法可以从设备获取手机号码吗?

【问题讨论】:

    标签: android


    【解决方案1】:

    您正在使用正确且唯一可供普通用户 (AFAIK) 使用的方法。它主要依赖于 SIM 卡(不是必须拥有),并且在某些情况下可能依赖于设备(getLine1Number() 未正确实现)。

    更准确地说,IMSI 唯一标识 SIM。但 MSISDN(订户号码)与 SIM 不是唯一相关的,因为可以更改 SIM 上的 MSISDN。网络可以使用 SIM 中的 IMSI 在 HLR 中找到 MSISDN 并建立呼叫。

    因此,MSISDN 不是必须在 SIM 卡上。

    【讨论】:

      【解决方案2】:

      您应该查看 this question 及其 cmets。

      某些 SIM 卡似乎会导致 getLine1Number() 返回 null...并且没有人找到解决此问题的方法。

      More information here

      【讨论】:

      • 没有人找到路,因为在这种情况下,SIM 卡上不存在号码。
      【解决方案3】:

      在这种情况下,您始终使用方法 getLine1Number() 方法使用 SharedPreference 保存您的电话号码。当您安装应用程序时,您的电话号码会被保存,当使用新的 sim 卡时,请向您的注册号码发送短信。启动应用程序后,您必须始终检查您存储的号码是否与您的新号码相同。如果相同则不会发生任何事情,如果不相同,则您的应用程序将发送短信。

      【讨论】:

        猜你喜欢
        • 2017-08-09
        • 1970-01-01
        • 2014-03-29
        • 1970-01-01
        • 1970-01-01
        • 2019-06-26
        • 1970-01-01
        • 1970-01-01
        • 2021-12-10
        相关资源
        最近更新 更多