OpenHarmony 如何实现防截屏功能

2024-12-18 17:02:50
185次阅读
0个评论
最后修改时间:2024-12-18 17:11:36

方式一:

setWindowPrivacyMode设置窗口是否为隐私模式,设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。此接口可用于禁止截屏/录屏的场景。

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

  onWindowStageCreate(windowStage: window.WindowStage): void {
    // 获取主窗口
    let windowClass = windowStage.getMainWindowSync();
    // 设置窗口隐私模式
    let isPrivacyMode: boolean = true;
    windowClass.setWindowPrivacyMode(isPrivacyMode, (err: BusinessError) => {
      if (err.code) {
        return;
      }
    });
    windowStage.loadContent('pages/IndexPage', (err, data) => {
      if (err.code) {
        hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');
        return;
      }
    });
  }

方式二:

使用 harmony-utils 的AppUtil工具类

    AppUtil.setWindowPrivacyMode(true); //设置主窗口隐私模式
    
    AppUtil.setWindowPrivacyMode(true, subWindow); //设置指定窗口隐私模式
    
    AppUtil.setWindowPrivacyMode(false); //取消窗口隐私模式
收藏00

登录 后评论。没有帐号? 注册 一个。