如何在 Delphi 中获取 android (4.1.1, 4.4.2,...) 的版本

Posted

技术标签:

【中文标题】如何在 Delphi 中获取 android (4.1.1, 4.4.2,...) 的版本【英文标题】:How to get version of android (4.1.1, 4.4.2,...) in Delphi 【发布时间】:2014-05-15 08:57:31 【问题描述】:

我想获取 android 设备的版本。 在Java中是android.os.Build.VERSION.RELEASE,在Delphi中是怎样的?

【问题讨论】:

可能重复的问题...***.com/questions/10547818/… 不是真的,Delphi XE5 需要它 查看 Samples\MobileCodeSnippets\Delphi\DeviceInfo 项目,它不仅显示构建(例如,4.1.2),而且显示通用名称(“Ice Cream Sandwich MR1”)和设备名称(“三星 Galaxy S3") 也是如此。 【参考方案1】:

您可以使用System.SysUtils.TOSVersion 记录来获取有关运行您的应用程序的操作系统的信息。

  TOSVersion = record
  public type
    TArchitecture = (arIntelX86, arIntelX64, arARM32);
    TPlatform = (pfWindows, pfMacOS, pfios, pfAndroid, pfWinRT, pfLinux);
  public const
    AllArchitectures = [arIntelX86, arIntelX64, arARM32];
    AllPlatforms = [pfWindows, pfMacOS, pfiOS, pfAndroid, pfWinRT, pfLinux];
  private
    class var FArchitecture: TArchitecture;
    class var FBuild: Integer;
    class var FMajor: Integer;
    class var FMinor: Integer;
    class var FName: string;
    class var FPlatform: TPlatform;
    class var FServicePackMajor: Integer;
    class var FServicePackMinor: Integer;
    class constructor Create;
  public
    class function Check(AMajor: Integer): Boolean; overload; static; inline;
    class function Check(AMajor, AMinor: Integer): Boolean; overload; static; inline;
    class function Check(AMajor, AMinor, AServicePackMajor: Integer): Boolean; overload; static; inline;
    class function ToString: string; static;
    class property Architecture: TArchitecture read FArchitecture;
    class property Build: Integer read FBuild;
    class property Major: Integer read FMajor;
    class property Minor: Integer read FMinor;
    class property Name: string read FName;
    class property Platform: TPlatform read FPlatform;
    class property ServicePackMajor: Integer read FServicePackMajor;
    class property ServicePackMinor: Integer read FServicePackMinor;
  end;

【讨论】:

【参考方案2】:

使用代码

if TOSVersion.Check(4, 2) then

如果 Android 操作系统版本为 4.2.2 (API 17) 或更高版本,则为 true。

【讨论】:

以上是关于如何在 Delphi 中获取 android (4.1.1, 4.4.2,...) 的版本的主要内容,如果未能解决你的问题,请参考以下文章

delphi XE6 进行android开发关于真机使用EDIT或者MEMO出现假死重启问题。

如何检查Android和iOS上的网络是否可用(Delphi XE5)

delphi如何获取DLL所在的目录

如何使用Delphi更改Android应用程序中的标题栏颜色

Delphi10.4.2关于Android设备调试

在delphi中如何获取字符串的内存地址