-3

在我的应用程序中,我想导入我的手机号码。我知道电话联系人是由 ContactsContract API 导入的,但我要求导入自己的手机号码,这很明显,不会出现在电话联系人详细信息中。

4

2 回答 2

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

但请注意,不能保证您得到它(因此请检查 NULL)。

于 2013-06-26T09:48:33.737 回答
2

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

没有电话号码不应该是一个大问题。我一直在研究 SMS 应用程序一段时间,几个月前得出的结论是,我根本不需要知道手机号码。

如果您有充分的理由需要手机号码,则使用联系人提供商可以访问设备的联系人卡片,该卡片上可能有一个或多个手机号码(或根本没有!)。我的建议是使用这条路线来获取可用的号码,然后要求用户选择一个是手机号码的号码,如果“以上都不是”,让他们有机会输入一个号码。

如果您想验证该号码,您可以从手机向其本身发送短信或使用短信服务向手机发送消息(有点像在网站上创建帐户时必须确认电子邮件地址)。

于 2013-06-26T09:58:25.470 回答