【HarmonyOS】应用设置屏幕常亮

【HarmonyOS】应用设置屏幕常亮

一、问题背景:
金融类或钱包场景的应用APP,对于付款码,扫一扫等场景都会对屏幕设置常亮。防止屏幕长时间不操作,自动息屏。

目前这种场景的需求也是非常有必要的,也是行业内默认的处理方式。

那屏幕常亮在鸿蒙中如何实现呢?

二、解决方案:

1.首先需要获取当前屏幕窗口对象,在鸿蒙中,一般是以窗口为最小操作舞台。类似常亮,隐私窗口(防止录屏截屏),窗口大小等设置都是操作窗口。
2.之后调用setWindowKeepScreenOn设置屏幕是否常亮,默认是不会常亮。

三、DEMO示例:

import { window } from '@kit.ArkUI';

/**
 * 设备管理
 */
export class DeviceMgr {

  private TAG: string = 'DeviceMgr';

  private static mDeviceMgr: DeviceMgr | null = null;

  public static Ins(): DeviceMgr {
    if (!DeviceMgr.mDeviceMgr) {
      DeviceMgr.mDeviceMgr = new DeviceMgr();
    }
    return DeviceMgr.mDeviceMgr;
  }

  /**
   * 设置屏幕是否常亮
   * @param isON true
   */
  public async setKeepScreenState(isON: boolean){
    let win: window.Window = await window.getLastWindow(getContext());
    await win.setWindowKeepScreenOn(isON);
  }

  /**
   * 当前窗口屏幕是否长亮
   * @returns 
   */
  public async isKeepScreenState(): Promise<boolean> {
    let win: window.Window = await window.getLastWindow(getContext());
    return win.getWindowProperties().isKeepScreenOn;
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值