【问题标题】:how to get My phone number in Android 2.2如何在 Android 2.2 中获取我的电话号码
【发布时间】:2011-11-23 10:13:27
【问题描述】:

我正在使用 Android 2.2 编写应用程序。 我试图在 Android 中获取我的电话号码,但无法... 如下,这是我获取电话号码的代码:(应用设备-三星 Galaxy Plus)

public static String getMyPhoneNumber(Context aContext){
    TelephonyManager mTelephonyMgr;
    mTelephonyMgr = (TelephonyManager) aContext
            .getSystemService(Context.TELEPHONY_SERVICE);
    return mTelephonyMgr.getLine1Number();
}

String phone = getMyPhoneNumber(getApplicationContext());// return "" in here

我在 Androidmanifest.xml 中添加了“android.permission.READ_PHONE_STATE” 但是当我运行应用程序时,电话是空的......

我不知道为什么,虽然我得到“getSimSerialNumber(), getSimOperatorName(),getSimOperator(),...”是可以的!

方法“getLine1Number()”总是返回“”值。 如果你知道,请帮助我!

【问题讨论】:

  • 你能在设备下-设置>关于手机>状态>我的电话号码..下看到你的电话号码吗?如果不能,Android 操作系统不知道您的电话号码,因此无法将其提供给您。

标签: android phone-number sim-card


【解决方案1】:

检查您的号码是否在Settings->About phone->State->Phone number 中可见,否则您可能无法获取。

它不会显示您的电话号码,直到它写在您的移动 SIM 卡上,所以请尝试更换 SIM 卡,这样当您更换 SIM 卡时,如果电话号码写在上面,它将显示电话号码。

【讨论】:

  • 当我换到另一张SIM卡时,我得到电话号码是OK的。为什么 SIM 类型之间存在差异。
【解决方案2】:

尝试使用 getSubscriberId(),它是手机的 IMSI。

【讨论】:

  • 我已经修好了 :)...谢谢大家
  • 很高兴您解决了您的问题..但是您的问题是要获取表示“不联系”的电话号码对..!!并且答案建议IMSI ..所以我建议将您的问题从电话号码编辑为IMSI。
【解决方案3】:

如果您想获取插入 sim 卡的手机的电话号码,例如 +92xxxxxx,+42xxxxxxx,+1xxxxxx 这种类型,只需将此代码复制到您的应用中即可。

TelephonyManager phn_mngr = (TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
String PhnNo= phn_mngr.getLine1Number();

【讨论】:

    猜你喜欢
    • 2015-10-23
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    相关资源
    最近更新 更多