Firemonkey:如何检测操作系统Android/iOS何时关闭

问题描述

我正在处理 Firemonkey (Delphi 10.4) 的以下问题:当 Android 操作系统关闭而我的应用程序仍在运行时,它不会触发 OnCloseQuery、OnClose 和 OnDestroy 事件。有没有办法检测或拦截操作系统关闭事件?当我使用方形按钮终止应用程序时(即当我使用方形按钮显示最近打开的应用程序并以这种方式关闭应用程序)时,会出现同样的问题。

提前致谢。

解决方法

我终于从 TMS 客户那里找到了解决方案(Ken Randall "Randall_Ken" Active Customer。)

uses FMX.Platform;

procedure TMyForm.FormCreate(Sender: TObject);
var
  AppEventSvc: IFMXApplicationEventService;
begin
  if TPlatformServices.Current.SupportsPlatformService
    (IFMXApplicationEventService,IInterface(AppEventSvc)) then
  begin
    AppEventSvc.SetApplicationEventHandler(AppEvent);
  end;
end;

function TMyForm.AppEvent(AAppEvent: TApplicationEvent;
AContext: TObject): Boolean;
begin
  if AAppEvent = TApplicationEvent.WillTerminate then
  begin
    // Do soomething
  end;
  Result := true;
end;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...