如何在Delphi-XE5 Firemonkey应用程序中关闭Android应用程序



我有这段代码

procedure TFormMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
  msg: String;
begin
  msg := 'Do you really want to exit?';
  if MessageDlg(msg, TMsgDlgType.mtConfirmation,
    [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], 0) = mrNo then
    CanClose := False
  else
    CanClose := True; { FIXME: don't want to work on Android }
end;

它在Windows上完美运行。如果我选择"是",应用程序将关闭。但是,应用程序不会在Android上关闭。我做错了什么?

关闭最后一个窗体时关闭应用程序是Windows的事情。安卓应用程序将继续运行。

要在 Android 上关闭应用程序,请从FMX.Helpers.Android设备呼叫SharedActivity.finish

uses 
  FMX.Platform.Android;
procedure TForm2.SpeedButton1Click(Sender: TObject); 
begin 
  MainActivity.finish; 
end; 

我尝试了所有组合。

 - SharedActivity.Finish - NOT WORKING FOR ME
 - MainActivity.Finish - NOT WORKING FOR ME
 - Application.MainForm.DisposeOf - NOT WORKING FOR ME

这对我有用:

 FreeAndNil(Application);

呼叫停止也会关闭应用程序。

最新更新