2013-06-26 38 views
-3

在我的应用我要导入我的手机号码。我知道手机联系人是通过ContactsContract API导入的,但是我可能会要求导入自己的手机号码,这是显而易见的,不存在于手机联系人详细信息中。导入自己的手机号码

+1

SIM卡的电话号码将可以通过电话API而不是通过ContactsContract API。 –

回答

2

的手机号码不再是一般可通过电话API。如果您可以在设置中查看正确的电话号码 - >关于电话 - >状态,那么是的,您会看到它。但否则,不。我有几部运行Android 2.3,4,4.1和4.2的手机,但都没有显示与SIM卡关联的电话号码。

不具有电话号码,不应该是一个大难题。我一直在研究短信应用一段时间,并在几个月前得出结论,我根本不需要知道手机号码。

如果你需要的手机号码一个很好的理由,然后使用联系人提供商,你可以访问该设备的联系人卡片,其上可能有一个或多个移动电话号码(或根本就没有!)。我的建议是使用此路线获取可用号码,然后要求用户选择一个是手机号码的号码,并给他们输入号码的机会,如果它是“以上都不是”。

如果你想验证这个号码,你可以从手机发送一条短信给自己,或者使用文本信息服务向手机发送一条消息(有点像在创建帐户时需要确认一个电子邮件地址网站)。

+0

感谢您的快速回复。我会在我的应用程序中尝试您的建议。 – DJhon

+0

一如往常,在走下这条路线之前要考虑用户的隐私。你的应用程序需要有一个非常非常好的理由来需要用户的电话号码。像这样的恕我直通信息必须是应用程序的核心 - 否则,应用程序将无法运行,或者会失去本应具有的大部分功能。 – Phil

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

但要注意它不能保证你得到它(所以检查NULL)。

+1

getLine1Number()只保证将得到移动 号码,如果seted移动设备MSISDN号码,我们可以从 设置检查 - >关于手机 - > - > - > MSISDN。 – ryderz8

+0

感谢您的回复。我真的很高兴。 – DJhon