unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.Controls.Presentation, FMX.StdCtrls
// 以下追加
, Androidapi.Helpers
, Androidapi.Jni.Os
, Androidapi.Jni.JavaTypes
, Androidapi.Jni.GraphicsContentViewText
//
;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ private }
PW: JPowerManager;
WL: JPowerManager_WakeLock;
public
{ public }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.Button1Click(Sender: TObject);
begin
//用唤醒锁唤醒
//用getSystemService
PW := TJPowerManager.Wrap(TAndroidHelper.Context.getSystemService(TJContext.JavaClass.POWER_SERVICE));
if PW <> nil then begin
//获取电源管理器的激活锁定
WL := PW.newWakeLock
(TJPowerManager.JavaClass.SCREEN_BRIGHT_WAKE_LOCK
or TJPowerManager.JavaClass.ACQUIRE_CAUSES_WAKEUP,
StringToJString('Power Manager Test'));
if WL <> nil then
WL.acquire; //获取运行激活锁定执行
end else
Button1.Text := 'Not use Power Manager';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if WL <> nil then //是激活锁定集合?
WL.release; // 解除
end;
end.