本文整理自网络,侵删。
手机号不是存在SIM卡上的,SIM卡只有一个串号.
在运营商的服务器上有手机号和序号对应的一张表.所以你SIM卡办理遗失,运营商只要把新SIM卡的串号和你原来的手机号绑定即可.
获取手机号的唯一办法是收个短信,短信里面有你的手机号码.所以很多程序为了获取手机号会要求你注册时发短信,然后它给你回个短信.
uses
Androidapi.JNI.GraphicsContentViewText, Androidapi.JNIBridge,
Androidapi.JNI.Telephony, Androidapi.JNI.JavaTypes, FMX.Helpers.Android;
var
TelephonyManager: JTelephonyManager;
TelephonyServiceNative: JObject;
begin
TelephonyServiceNative := SharedActivityContext.getSystemService
(TJContext.JavaClass.TELEPHONY_SERVICE);
if Assigned(TelephonyServiceNative) then
TelephonyManager := TJTelephonyManager.Wrap
((TelephonyServiceNative as ILocalObject).GetObjectID);
//TelephonyManager.getDeviceId 取IMEI
//TelephonyManager.getLine1Number 取MSISDN 手机号,大部分SIM卡中不会写入这个信息
//TelephonyManager.getSimSerialNumber 取ICCID
//TelephonyManager.getSubscriberId 取IMSI 运营商实际上是用这个查询的他那张对应电话号码的表
//还有很多方法,具体请查看JTelephonyManager的声明
end;
来源:http://www.raysoftware.cn/?p=435
相关阅读 >>
Delphi firedac 下的 sqlite [10] - 使用 r-tree 搜索
Delphi controlcount和componentcount的区别
更多相关阅读请进入《Delphi》频道 >>