【发布时间】:2010-08-05 21:47:57
【问题描述】:
有没有办法在移动应用中检索用户的电话号码?我正在寻找构建某种地址簿实用程序来构建电话号码并让他们通过使用他们当前的电话号码拨打数字等。有没有办法检索这些信息?
我已经找到了一些方法来从 sim 卡中检索它在黑莓和 android 中,但显然 sim 卡中的值并不能保证它实际上是它们的号码。
【问题讨论】:
标签: android blackberry java-me
有没有办法在移动应用中检索用户的电话号码?我正在寻找构建某种地址簿实用程序来构建电话号码并让他们通过使用他们当前的电话号码拨打数字等。有没有办法检索这些信息?
我已经找到了一些方法来从 sim 卡中检索它在黑莓和 android 中,但显然 sim 卡中的值并不能保证它实际上是它们的号码。
【问题讨论】:
标签: android blackberry java-me
您可以使用the TelephonyManager 来执行此操作:
TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String number = tm.getLine1Number();
documentation for getLine1Number() 表示如果号码“不可用”,此方法将返回 null,但它没有说明号码何时可能不可用。
您需要通过将以下内容添加到您的清单中来为您的应用程序提供permission to make this query:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
(您不应使用TelephonyManager.getDefault() 将TelephonyManager 用作that is a private undocumented API call and may change in future。)
【讨论】:
对于黑莓,您可以使用
Phone.getDevicePhoneNumber(false)
根据 javadoc ,如果当前没有可用的电话号码,此方法可以返回 null
有一种获取用户手机号码的通用解决方法。
【讨论】: