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

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%')
  }
}
相关推荐
可可鸭~38 分钟前
鸿蒙学习构建视图的基本语法(二)
android·学习·harmonyos
程序猿阿伟1 小时前
《鸿蒙Next应用商店:人工智能开启智能推荐与运营新时代》
人工智能·华为·harmonyos
程序猿阿伟1 小时前
《鸿蒙Next原生应用的独特用户体验之旅》
华为·harmonyos·ux
jikuaidi6yuan5 小时前
鸿蒙系统的多端部署
华为·harmonyos
__Benco7 小时前
OpenHarmony API 设计规范
java·大数据·数据库·harmonyos
SuperHeroWu79 小时前
【HarmonyOS NEXT】鸿蒙三方应用跳转到系统浏览器
华为·harmonyos·鸿蒙·跳转·系统浏览器·openlink·三方应用
程序猿阿伟9 小时前
《知识图谱:鸿蒙NEXT中人工智能的智慧基石》
人工智能·知识图谱·harmonyos
沅霖9 小时前
鸿蒙Harmony json转对象(1)
harmonyos
寂然如故9 小时前
蒙操作系统(HarmonyOS)
华为·harmonyos
LXMXF9 小时前
五、华为 RSTP
网络·华为·rstp