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

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%')
  }
}
相关推荐
小学生波波14 分钟前
鸿蒙ArkTS如何实现数据可视化:饼状图/柱状图/折线图
华为·信息可视化·echarts·harmonyos·鸿蒙
SoraLuna1 小时前
「Mac玩转仓颉内测版51」基础篇13 - 高阶函数与闭包
开发语言·macos·华为·cangjie
android_lingz2 小时前
鸿蒙分享(四):弹窗简单封装
华为·harmonyos
网易智企3 小时前
网易云信荣获“HarmonyOS NEXT SDK星河奖”
人工智能·华为·ai·音视频·实时音视频·harmonyos
SuperHeroWu75 小时前
【HarmonyOS】鸿蒙应用实现手机摇一摇功能
华为·harmonyos·鸿蒙·sensor·传感器·加速度·摇一摇
DC_BLOG5 小时前
HarmonyOS-高级(四)
网络·华为·harmonyos
Forever_Hopeful6 小时前
华为HarmonyOS NEXT 原生应用开发:鸿蒙中组件的组件状态管理、组件通信 && 组件状态管理小案例(好友录)!
华为·harmonyos
普推知产6 小时前
华为注册仙界等2字商标,如何申请2字商标!
华为·创业创新
Cynthia AI6 小时前
华为海思正式进入Wi-Fi FEM赛道?
华为