4

我尝试使用此代码获取自己的电话号码

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

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

但它不能正常工作。

“在Android中获取电话号码”的确切解决方案是什么?

谢谢

4

5 回答 5

4

“在Android中获取电话号码”的确切解决方案是什么?

让用户在 中输入一个EditText,也许配置为android:inputType="phone"。Android SDK 中没有任何内容支持检索设备的电话号码,因为设备可能不知道其电话号码——只有运营商需要。此外,在几种情况下,用户需要指明他们希望使用哪些可能的电话号码:

  • 双卡手机
  • 将其他电话号码移植到此设备的人,或使用呼叫转移将呼叫路由到此设备的人
  • 拥有 SIP 号码或他们更喜欢与设备一起使用的其他 VOIP 电话号码的人
于 2012-05-16T14:43:46.480 回答
1

以编程方式将手机中的彩信发送到您服务器上的电子邮件地址,然后读取发件人号码。

于 2013-06-22T21:14:56.687 回答
1

TelephonyManager 不是正确的解决方案,因为在某些情况下,号码没有存储在 SIM 卡中,由于我的建议,您应该在第一次打开应用程序时使用共享偏好来存储用户的电话号码,之后该号码将在任何时候使用您需要在应用程序中。

于 2014-01-07T11:15:10.670 回答
0
public String myNO()
{
    return ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).getLine1Number();
}

试试这个

于 2012-05-16T13:47:55.343 回答
0

使用此代码,

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

private String getMy10DigitPhoneNumber(){
    String s = getMyPhoneNumber();
    return s.substring(2);
}
于 2012-05-16T13:48:54.153 回答