如何最小化Delphi上的Android应用程序?

时间:2017-08-07 19:19:35

标签: android delphi firemonkey delphi-10.1-berlin

我试过了:

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
  Shift: TShiftState);
begin
if Key = vkHardwareBack then begin
Key := 0;
Form1.WindowState := TWindowState.wsMinimized; // Also tried Application.MainForm
end;
end;

但是,当您第一次点击屏幕变黑时,当您第二次点击该应用时,该应用会关闭。怎么避免这个?

1 个答案:

答案 0 :(得分:4)

Android方式是切换到桌面而不是尝试最小化您的应用程序。至少有两种方法可以实现这一目标:

第一种可能性是打电话:

MainActivity.movetasktoback(true);

第二种可能性是:

var
  Intent: JIntent;
begin
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_MAIN);
  Intent.addCategory(TJIntent.JavaClass.CATEGORY_HOME);
  tandroidhelper.activity.startActivity(Intent);

但是我注意到在Delphi下,这两种方式在重新激活时似乎都会导致黑屏应用。