从Android手机获取电话号码

时间:2014-03-27 20:11:57

标签: android firemonkey delphi-xe5

我应该使用哪些命令才能从Android手机获取SIM卡号码? 探索我找到的电话拨号器样本" PhoneDialerService.GetCarrier"但无法获得手机的电话号码。

1 个答案:

答案 0 :(得分:2)

如果设备仅使用一张SIM卡:

TelephonyManager phoneManager = (TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
    String phoneNumber = phoneManager.getLine1Number();

如果设备使用两张或更多SIM卡,请使用:

TelephonyManager phoneManager = (TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
String simSerialNumber = phoneManager.getSimSerialNumber();

不要忘记许可:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

请注意,没有任何保证的解决方案。这在每个设备/国家/地区都不起作用(可能会返回null),因为所有SIM卡上都没有电话号码。最佳解决方案是要求用户输入他/她的电话号码并存储,并询问是否移植/更改了号码。