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;

相关阅读 >>

Delphi获取星期几

Delphi中关于字符串的操作

Delphi 获取所有磁盘分区另类方法

Delphi+access错误"不正常地定义参数对象。提供了不一致或不完整的信息。"

Delphi服务程序(service)的调试方法

Delphi listbox模糊查找文字

Delphi tidhttp 超时的解决方案

Delphi tms web core 实现下载

Delphi利用系统时间产生随机数的函数

Delphi 的 tstringbuilder 可以完美实现jave ,c#的tstringbuilder功能

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...