我有这段代码
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上关闭。我做错了什么?
答案 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)
调用暂停也会关闭应用程序。