Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to close android app in Delphi-XE5 Firemonkey application?

I have this piece of code

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;

It works perfectly on Windows. Application closes if I choose 'Yes'. However, application does NOT close on Android. What I am doing wrong?

like image 671
Edijs Kolesnikovičs Avatar asked Oct 07 '13 20:10

Edijs Kolesnikovičs


2 Answers

Having the application close when the last form is closed is a Windows thing. An Android app will keep running.

To close the app on Android, call SharedActivity.finish from the FMX.Helpers.Android unit.

like image 168
Marcus Adams Avatar answered Nov 15 '22 21:11

Marcus Adams


uses 
  FMX.Platform.Android;

procedure TForm2.SpeedButton1Click(Sender: TObject); 
begin 
  MainActivity.finish; 
end; 
like image 32
Helios Avatar answered Nov 15 '22 21:11

Helios