首页 > 代码库 > delphiXE7关于android 检测屏幕是否处于关闭状态

delphiXE7关于android 检测屏幕是否处于关闭状态

unit Unit1;interfaceuses  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,  FMX.Layouts, FMX.Memo;type  TForm1 = class(TForm)    Button1: TButton;    mmo1: TMemo;    Timer1: TTimer;    procedure Button1Click(Sender: TObject);    procedure Timer1Timer(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;var  Form1: TForm1;implementation{$R *.fmx}uses Androidapi.JNI.android.os.PowerManager,     Androidapi.JNI.GraphicsContentViewText,     Androidapi.JNI.JavaTypes,     Androidapi.Helpers,     Androidapi.JNIBridge;{$R *.NmXhdpiPh.fmx ANDROID}function GetPowerManager:JPowerManager ;var Native:JObject ;begin Native:=SharedActivityContext.getSystemService(TJContext.JavaClass.POWER_SERVICE); if not Assigned(Native) then begin   raise Exception.Create(Could not locate Connectivity Service); end; Result:=TJPowerManager.Wrap((Native as ILocalObject).GetObjectID) ; if not Assigned(Result) then begin   raise Exception.Create(Could not access Connectivity Manager); end;end;procedure TForm1.Button1Click(Sender: TObject);var PowerManager:JPowerManager ;begin PowerManager:=GetPowerManager ; if PowerManager.isScreenOn then begin   ShowMessage(未关闭状态); end else begin   ShowMessage(已经关闭状态); end;end;procedure TForm1.Timer1Timer(Sender: TObject);var PowerManager:JPowerManager ;begin  PowerManager:=GetPowerManager ;  if PowerManager.isScreenOn then  begin    mmo1.Lines.Add(没有关闭)  end  else  begin    mmo1.Lines.Add(关闭状态) ;  end;end;end.
//====================================================////  转换来自JavaClassToDelphiUnit//  原始作者:ying32//  QQ: 1444386932//      396506155//  Email:yuanfen3287@vip.qq.com////  修改 By:Flying Wang & 爱吃猪头肉//  请不要移除以上的任何信息。//  请不要将本版本发到城通网盘,否则死全家。////  Email:1765535979@qq.com////  生成时间:2014/12/19 星期五 10:29:24//  工具版本:1.0.2014.12.12////====================================================unit Androidapi.JNI.android.os.PowerManager;interfaceuses  Androidapi.JNI.android.os.PowerManager_WakeLock,  Androidapi.JNIBridge,   Androidapi.JNI.JavaTypes,   Androidapi.JNI.os;type// ===== Forward declarations =====  JPowerManager = interface; //android.os.PowerManager// ===== Interface declarations =====  JPowerManagerClass = interface(JObjectClass)  [{6600EE55-0B62-4AC6-8C41-9C0AD9AAE509}]    { static Property Methods }    {class} function _GetPARTIAL_WAKE_LOCK: Integer;    {class} function _GetFULL_WAKE_LOCK: Integer;    {class} function _GetSCREEN_BRIGHT_WAKE_LOCK: Integer;    {class} function _GetSCREEN_DIM_WAKE_LOCK: Integer;    {class} function _GetACQUIRE_CAUSES_WAKEUP: Integer;    {class} function _GetON_AFTER_RELEASE: Integer;    { static Methods }    { static Property }    {class} property PARTIAL_WAKE_LOCK: Integer read _GetPARTIAL_WAKE_LOCK;    {class} property FULL_WAKE_LOCK: Integer read _GetFULL_WAKE_LOCK;    {class} property SCREEN_BRIGHT_WAKE_LOCK: Integer read _GetSCREEN_BRIGHT_WAKE_LOCK;    {class} property SCREEN_DIM_WAKE_LOCK: Integer read _GetSCREEN_DIM_WAKE_LOCK;    {class} property ACQUIRE_CAUSES_WAKEUP: Integer read _GetACQUIRE_CAUSES_WAKEUP;    {class} property ON_AFTER_RELEASE: Integer read _GetON_AFTER_RELEASE;  end;  [JavaSignature(android/os/PowerManager)]  JPowerManager = interface(JObject)  [{54AAD336-BDE4-447A-8A3C-235EEB4FF8EA}]    { Property Methods }    { methods }    function newWakeLock(flags: Integer; tag: JString): JPowerManager_WakeLock; cdecl;    procedure userActivity(when: Int64; noChangeLights: Boolean); cdecl;    procedure goToSleep(time: Int64); cdecl;    function isScreenOn: Boolean; cdecl;    procedure reboot(reason: JString); cdecl;    { Property }  end;  TJPowerManager = class(TJavaGenericImport<JPowerManagerClass, JPowerManager>) end;implementationprocedure RegisterTypes;begin  TRegTypes.RegisterType(Androidapi.JNI.android.os.PowerManager.JPowerManager,     TypeInfo(Androidapi.JNI.android.os.PowerManager.JPowerManager));end;initialization  RegisterTypes;end.
//====================================================////  转换来自JavaClassToDelphiUnit//  原始作者:ying32//  QQ: 1444386932//      396506155//  Email:yuanfen3287@vip.qq.com////  修改 By:Flying Wang & 爱吃猪头肉//  请不要移除以上的任何信息。//  请不要将本版本发到城通网盘,否则死全家。////  Email:1765535979@qq.com////  生成时间:2014/12/19 星期五 10:29:44//  工具版本:1.0.2014.12.12////====================================================unit Androidapi.JNI.android.os.PowerManager_WakeLock;interfaceuses  Androidapi.JNI.android.os.WorkSource,  Androidapi.JNIBridge,  Androidapi.JNI.JavaTypes,   Androidapi.JNI.os;type// ===== Forward declarations =====  JPowerManager_WakeLock = interface; //android.os.PowerManager$WakeLock// ===== Interface declarations =====  JPowerManager_WakeLockClass = interface(JObjectClass)  [{5394217C-F576-4C1C-87B7-1EECC1893E74}]    { static Property Methods }    { static Methods }    { static Property }  end;  [JavaSignature(android/os/PowerManager$WakeLock)]  JPowerManager_WakeLock = interface(JObject)  [{BD52A293-0D29-4637-B236-00D0DA2D50B1}]    { Property Methods }    { methods }    procedure setReferenceCounted(value: Boolean); cdecl;    procedure acquire; cdecl; overload;    procedure acquire(timeout: Int64); cdecl; overload;    procedure release; cdecl;    function isHeld: Boolean; cdecl;    procedure setWorkSource(ws: JWorkSource); cdecl;    function toString: JString; cdecl;    { Property }  end;  TJPowerManager_WakeLock = class(TJavaGenericImport<JPowerManager_WakeLockClass, JPowerManager_WakeLock>) end;implementationprocedure RegisterTypes;begin  TRegTypes.RegisterType(Androidapi.JNI.android.os.PowerManager_WakeLock.JPowerManager_WakeLock,     TypeInfo(Androidapi.JNI.android.os.PowerManager_WakeLock.JPowerManager_WakeLock));end;initialization  RegisterTypes;end.
//====================================================////  转换来自JavaClassToDelphiUnit//  原始作者:ying32//  QQ: 1444386932//      396506155//  Email:yuanfen3287@vip.qq.com////  修改 By:Flying Wang & 爱吃猪头肉//  请不要移除以上的任何信息。//  请不要将本版本发到城通网盘,否则死全家。////  Email:1765535979@qq.com////  生成时间:2014/12/19 星期五 10:37:54//  工具版本:1.0.2014.12.12////====================================================unit Androidapi.JNI.android.os.WorkSource;interfaceuses  Androidapi.JNIBridge,   Androidapi.JNI.JavaTypes,   Androidapi.JNI.os;type// ===== Forward declarations =====  JWorkSource = interface; //android.os.WorkSource// ===== Interface declarations =====  JWorkSourceClass = interface(JObjectClass)  [{B839C6E0-F417-49DF-8DC9-51FD9BF7C217}]    { static Property Methods }    {class} function _GetCREATOR: JParcelable_Creator;    { static Methods }    {class} function init: JWorkSource; cdecl; overload;    {class} function init(orig: JWorkSource): JWorkSource; cdecl; overload;    { static Property }    {class} property CREATOR: JParcelable_Creator read _GetCREATOR;  end;  [JavaSignature(android/os/WorkSource)]  JWorkSource = interface(JObject)  [{C0180882-E13D-4E8A-BDC9-108629C9F981}]    { Property Methods }    { methods }    procedure clear; cdecl;    function diff(other: JWorkSource): Boolean; cdecl;    procedure &set(other: JWorkSource); cdecl;    function add(other: JWorkSource): Boolean; cdecl;    function remove(other: JWorkSource): Boolean; cdecl;    function describeContents: Integer; cdecl;    procedure writeToParcel(dest: JParcel; flags: Integer); cdecl;    { Property }  end;  TJWorkSource = class(TJavaGenericImport<JWorkSourceClass, JWorkSource>) end;implementationprocedure RegisterTypes;begin  TRegTypes.RegisterType(Androidapi.JNI.android.os.WorkSource.JWorkSource,     TypeInfo(Androidapi.JNI.android.os.WorkSource.JWorkSource));end;initialization  RegisterTypes;end.

 

delphiXE7关于android 检测屏幕是否处于关闭状态