2017-08-07 82 views
1

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

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; 

但是当你遇到第一次在屏幕变黑色,当你到了第二次的应用程序关闭。如何避免这种情况?

+0

好的问的问题!显示键盘时,您只是错过了试用代码中的一个额外条件。 – Victoria

+0

@Victoria我用这个代码作为例子,当按下vkHardwareBack时,实际的代码有几个条件。 –

回答

4

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

第一种可能性是调用:

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); 

但是我注意到,德尔福下两种方式似乎引领到重新激活时的黑屏应用程序。

+0

我测试了Android 5棒棒糖上的第二种方法,没有显示黑屏! –

相关问题