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

时间:2013-10-07 20:51:39

标签: android delphi firemonkey delphi-xe5

我有这段代码

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上关闭。我做错了什么?

4 个答案:

答案 0 :(得分:13)

关闭最后一个表单时关闭应用程序是Windows的事情。 Android应用将继续运行。

要在Android上关闭该应用,请从SharedActivity.finish单元拨打FMX.Helpers.Android

答案 1 :(得分:7)

uses 
  FMX.Platform.Android;

procedure TForm2.SpeedButton1Click(Sender: TObject); 
begin 
  MainActivity.finish; 
end; 

答案 2 :(得分:1)

我尝试了所有组合。

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

这对我有用:

 FreeAndNil(Application);

答案 3 :(得分:0)

调用暂停也会关闭应用程序。