【发布时间】:2012-09-05 09:32:32
【问题描述】:
这是下面的代码来检索电话号码 wwa 能够在三星 4.0.4 上得到它,但在 htc one v mobile 上得到以下错误..任何线索?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textDeviceID = (TextView)findViewById(R.id.deviceid);
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
textDeviceID.setText(getMy10DigitPhoneNumber(telephonyManager));
}
private String getMyPhoneNumber(){
TelephonyManager mTelephonyMgr;
mTelephonyMgr = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
return mTelephonyMgr.getLine1Number();
}
private String getMy10DigitPhoneNumber(TelephonyManager telephonyManager){
String s = getMyPhoneNumber();
return s.substring(0);
}
}
【问题讨论】:
-
请编辑您的帖子并包含错误消息。
-
没有可靠的方法来获取电话号码。
getLine1Number()依赖于存储在 SIM 卡上的电话号码。有些运营商会这样做,有些则不会。此外,如果用户更改了他的电话号码,您使用getLine1Number()从 SIM 卡中获取的电话号码将是错误的。 StackOverflow 上有很多这样的帖子。例如见stackoverflow.com/questions/5134398/… -
谢谢大卫..但至少我应该返回 null 正确但我在 logcat 中收到错误消息
标签: android