2017-08-07 80 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棒棒糖上的第二種方法,沒有顯示黑屏! –

相關問題