Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从android手机获取电话号码_Android_Firemonkey_Delphi Xe5 - Fatal编程技术网

从android手机获取电话号码

从android手机获取电话号码,android,firemonkey,delphi-xe5,Android,Firemonkey,Delphi Xe5,我应该使用哪些命令才能从Android手机获取sim卡电话号码? 通过查看电话拨号器示例,我发现“PhoneDialerService.GetCarrier”,但没有获取手机号码的选项。如果设备仅使用一张sim卡,请使用: TelephonyManager phoneManager = (TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE); String phoneNum

我应该使用哪些命令才能从Android手机获取sim卡电话号码?
通过查看电话拨号器示例,我发现“PhoneDialerService.GetCarrier”,但没有获取手机号码的选项。

如果设备仅使用一张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卡上都实际存储了电话号码。最好的解决方案是让用户输入他/她的电话号码一次并存储,然后询问号码是否已移植/更改

备选方案如何获取手机序列号或IMEI号码?提前谢谢。此外,我应该将上述权限放在代码中的什么位置?只需调用“phoneManager.getDeviceId()”检索IMEI号码。将权限放在xml清单而不是java代码中您还知道如何获取IMSI编号吗?再次谢谢你,它没用。它不接受电话管理器变量&getapplicationcontext。我从Remy Lebeau()那里找到了解决方案。无论如何,谢谢你。