我有这段代码
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);
呼叫停止也会关闭应用程序。