delphi XE6取得Android智能手机的电话号码等的终端信息  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi XE6取得Android智能手机的电话号码等的终端信息


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;

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.044121026992798 seconds