鸿蒙中开启关闭防截屏录屏

1.申请权限

TypeScript 复制代码
  "requestPermissions": [
      {
        "name": "ohos.permission.PRIVACY_WINDOW"
      },
    ],

2.ui

TypeScript 复制代码
import { common, OpenLinkOptions, Want } from '@kit.AbilityKit'
import { BusinessError } from '@kit.BasicServicesKit'
import { window } from '@kit.ArkUI';
import { promptAction } from '@kit.ArkUI';

@Entry()
@Component
struct TransactionHistory {
  async setWindowPrivacyModeTrue(context: Context) {
    let windowClass: window.Window = await window.getLastWindow(context)
    try {
      windowClass.setWindowPrivacyMode(true, (err: BusinessError) => {
        const errCode: number = err.code;
        if (errCode) {
          console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
          if (errCode == 201) {

          }
          return;
        }
        promptAction.showToast({
          message: `已开启 防截屏录屏`,
          duration: 2000,
          bottom: '500lpx'
        });
        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));
    }
  }

  async setWindowPrivacyModeFalse(context: Context) {
    let windowClass: window.Window = await window.getLastWindow(context)
    try {
      windowClass.setWindowPrivacyMode(false, (err: BusinessError) => {
        const errCode: number = err.code;
        if (errCode) {
          console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
          if (errCode == 201) {

          }
          return;
        }
        promptAction.showToast({
          message: `已关闭 防截屏录屏`,
          duration: 2000,
          bottom: '500lpx'
        });
        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));
    }
  }

  build() {
    Column() {
      Button('开启防截屏录屏').onClick(() => {
        this.setWindowPrivacyModeTrue(getContext())
      })
      Button('关闭防截屏录屏').onClick(() => {
        this.setWindowPrivacyModeFalse(getContext())
      })
    }.width('100%')
  }
}
相关推荐
survivorsfyh4 小时前
zsh: command not found: hdc - 鸿蒙 HarmonyOS Next
华为·harmonyos·鸿蒙
qq_553760326 小时前
HarmonyOS:WebView 控制及 H5 原生交互实现
华为·harmonyos·鸿蒙
IC拓荒者10 小时前
华为海思IC前端中后端(COT&XPU)岗位笔试机考题
华为·数字后端零基础·海思ic笔试题·海思实习·海思实习题·海思秋招笔试题·海思cot招聘
别说我什么都不会13 小时前
OpenHarmony实战开发之测试适配的HDF驱动
嵌入式·harmonyos·领域驱动设计
Star76815 小时前
鸿蒙系统中实现保存pdf至本地
app·harmonyos
威哥爱编程15 小时前
HarmonyOS NEXT 实现滑动拼图验证码功能
华为·harmonyos·arkts
linpengteng16 小时前
开发 ArkTS 版 HarmonyOS 日志库 —— logger
前端·app·harmonyos
塞尔维亚大汉16 小时前
【鸿蒙南向开发】轻量和小型系统三方库移植指南(一)
操作系统·嵌入式·harmonyos
__Benco17 小时前
OpenHarmony子系统开发 - 调测工具(二)
人工智能·harmonyos
__Benco17 小时前
OpenHarmony子系统开发 - 调测工具(一)
人工智能·harmonyos