【HarmonyOS】鸿蒙中防止截屏和录屏(设置窗口为隐私模式)

防止截屏和录屏(设置窗口为隐私模式)

手机应用防止截屏和录屏功能(开启隐私模式)能够有效防止敏感信息被恶意传播,减少盗版行为,确保合规性,增强用户对应用的信任感,并维护公平性,尤其在涉及个人信息和付费内容的场景中显得尤为重要。

【HarmonyOS】鸿蒙中防止截屏和录屏(设置窗口为隐私模式)_第1张图片

版本: API 9 以上
主要方法: 使用setWindowPrivacyMode设置窗口为隐私模式,
注意: 设置窗口而不是某一个页面, 相当于整个应用设置了防截屏

主要代码

  export class windowManager {
  // 设置窗口为隐私模式
  static privacyScreen(isPrivacy: boolean = false) {
    let windowClass: window.Window | undefined = undefined
    let isPrivacyMode = isPrivacy
    try {
      window.getLastWindow(getContext(), (error, data) => {
        if (error.code) {
          console.log('error= ' + JSON.stringify(error))
          return
        }
        windowClass = data
        windowClass.setWindowPrivacyMode(isPrivacyMode, (err) => {
          if (err.code) {
            console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
            return;
          }
          console.info('Succeeded in setting the window to privacy mode.');
        });
      })
    } catch (exception) {
      console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception));
    }
  }
}

配置权限

在Entry > module.json5 中配置如下权限
{ "name": "ohos.permission.PRIVACY_WINDOW" }

参考文档: @ohos.window (窗口)-图形图像-ArkTS接口参考-ArkTS API参考 - 华为HarmonyOS开发者

你可能感兴趣的:(harmonyos,华为)