如何使用Delphi XE5在Android中禁用屏幕截图?

时间:2014-08-20 09:30:32

标签: android delphi delphi-xe5

我了解Android的FLAG_SECURE as a way to disable the screen shot功能。如何在FireMonkey / Delphi XE 5中使用它?

2 个答案:

答案 0 :(得分:4)

您可以使用ANativeActivity_setWindowFlags(此方法更改给定活动的窗口标志。调用给定活动的getWindow()。setFlags())传递AWINDOW_FLAG_SECURE标志

试试这个样本

uses
 Androidapi.NativeActivity;


procedure TForm1.FormCreate(Sender: TObject);
const
 AWINDOW_FLAG_SECURE = $00002000;
begin
  ANativeActivity_setWindowFlags(PANativeActivity(System.DelphiActivity), AWINDOW_FLAG_SECURE, 0);
end;

答案 1 :(得分:3)

尝试这样的事情:

uses
  ...,
  Androidapi.JNI.App,
  Androidapi.JNI.GraphicsContentViewText,
  FMX.Helpers.Android;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SharedActivity.getWindow.setFlags(TJWindowManager_LayoutParams.JavaClass.FLAG_SECURE, TJWindowManager_LayoutParams.JavaClass.FLAG_SECURE);
end;