uses
Androidapi.Helpers,
Androidapi.JNI.JavaTypes,
Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNIBridge,
Androidapi.JNI.Telephony,
FMX.Helpers.Android;
procedure TForm1.Button1Click(Sender: TObject);
var
TelephonyServiceNative: JObject;
TelephonyManager: JTelephonyManager;
SimState: Integer;
begin
TelephonyServiceNative := SharedActivityContext.getSystemService
(TJContext.JavaClass.TELEPHONY_SERVICE);
TelephonyManager := TJTelephonyManager.Wrap
((TelephonyServiceNative as ILocalObject).GetObjectID);
Memo1.Lines.BeginUpdate;
try
Memo1.Lines.Add('手机号码');
Memo1.Lines.Add(JStringToString(TelephonyManager.getLine1Number));
Memo1.Lines.Add('设备ID');
Memo1.Lines.Add(JStringToString(TelephonyManager.getDeviceId));
Memo1.Lines.Add('国家代码');
Memo1.Lines.Add(JStringToString(TelephonyManager.getSimCountryIso));
Memo1.Lines.Add('MCC+MNC (mobile country code + mobile network code)');
Memo1.Lines.Add(JStringToString(TelephonyManager.getSimOperator));
Memo1.Lines.Add('服务提供商的名称');
Memo1.Lines.Add(JStringToString(TelephonyManager.getSimOperatorName));
Memo1.Lines.Add('SIM序列号');
Memo1.Lines.Add(JStringToString(TelephonyManager.getSimSerialNumber));
Memo1.Lines.Add('语音邮件号码');
Memo1.Lines.Add(JStringToString(TelephonyManager.getVoiceMailNumber));
Memo1.Lines.Add('SIM状态');
SimState := TelephonyManager.getSimState;
if SimState = TJTelephonyManager.JavaClass.SIM_STATE_UNKNOWN then
Memo1.Lines.Add('SIM_STATE_UNKNOWN');
if SimState = TJTelephonyManager.JavaClass.SIM_STATE_ABSENT then
Memo1.Lines.Add('SIM_STATE_ABSENT');
if SimState = TJTelephonyManager.JavaClass.SIM_STATE_PIN_REQUIRED then
Memo1.Lines.Add('SIM_STATE_PIN_REQUIRED');
if SimState = TJTelephonyManager.JavaClass.SIM_STATE_NETWORK_LOCKED then
Memo1.Lines.Add('SIM_STATE_NETWORK_LOCKED');
if SimState = TJTelephonyManager.JavaClass.SIM_STATE_READY then
Memo1.Lines.Add('SIM_STATE_READY');
finally
Memo1.Lines.EndUpdate;
end;
end;