从Android设备获取电话号码

时间:2013-05-20 22:06:24

标签: android android-intent

是的我使用了正确的权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

这是我的代码:

private String getDevicePhoneNumber() {
    TelephonyManager mTelephonyMgr;
    mTelephonyMgr = (TelephonyManager)
        getSystemService(Context.TELEPHONY_SERVICE);
    return mTelephonyMgr.getLine1Number();
}

手机正在向我发送lambda:空字符串。

有谁知道如何做到这一点?我需要这个用于android Froyo(2.2)及以上

1 个答案:

答案 0 :(得分:2)

这确实是一个问题。没有一个解决方案永远有效。 它不存储在所有SIM卡上,也不能始终从运营商网络访问。

某些国家甚至可能需要进行物理地址验证。

电话号码分配的分配在网络上进行 - 并且可以在不更改SIM卡或设备的情况下进行更改(例如,这是从一个运营商转移到另一个运营商时支持移植的方式......)。

你最好的选择是询问用户,这可能听起来很奇怪..