TelephonyManager.getLine1Number()适用于GSM手机,但不适用于CDMA手机。是否可以通过Android API调用获取CDMA手机的电话号码?感谢
答案 0 :(得分:2)
虽然建议的方法可行,但有些运营商(我相信这是他们的选择)不提供此号码,而是返回null。
文档中说明了返回null:http://developer.android.com/reference/android/telephony/TelephonyManager.html (向下滚动到方法的文档)。
以下是可能的解决方法的链接: http://code.google.com/p/android/issues/detail?id=1110#c5
答案 1 :(得分:0)
我已经在摩托罗拉Droid和HTC EVO 4G上成功使用了以下产品,这两款产品都是CDMA。
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber = telephonyManager.getLine1Number();
确保您在清单中请求了正确的权限。
<uses-permission android:name="android.permission.READ_PHONE_STATE" />