delphi更改Android亮度  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi更改Android亮度


屏幕变黑时,通常无法读取读取终端上显示的条形码的应用程序。
在这种情况下,执行增加应用侧装置的亮度的方法。

使用WindowManager.Layoutparams可以控制Delphi中的亮度。

样例代码
将一个按钮放在窗体上

按下按钮以最大化亮度。
再次按下以最小化亮度。
描述该过程。(已与Nexus 5(Android 5.1.1确认))
unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  Androidapi.JNI.GraphicsContentViewText, FMX.Controls.Presentation,
  FMX.StdCtrls, Androidapi.Helpers, Androidapi.Jni, Androidapi.JNI.App
  ;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { private 宣言 }
    jp: JWindowManager_LayoutParams;  // WindowManager.LayoutParams
    sw: Boolean;  // 単純にスイッチ
  public
    { public 宣言 }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.Button1Click(Sender: TObject);
begin
  if sw then begin
   //最小化亮度
    jp.screenBrightness := TJWindowManager_LayoutParams.JavaClass.BRIGHTNESS_OVERRIDE_OFF;
    sw := False;
  end else begin
    //最大亮度
    jp.screenBrightness := TJWindowManager_LayoutParams.JavaClass.BRIGHTNESS_OVERRIDE_FULL;
    sw := True;
  end;
  //设置反射亮度
  TAndroidHelper.Activity.getWindow.setAttributes(jp);
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  jp := TAndroidHelper.Activity.getWindow.getAttributes; // 現在の輝度の状態を取得
  sw :=True; //初始化开关
end;

end.


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.041739940643311 seconds