HarmonyOS 鸿蒙Next如何对每个页面单独设置防截屏录屏

HarmonyOS 鸿蒙Next如何对每个页面单独设置防截屏录屏 如何对每个页面单独设置 windowClass.setWindowPrivacyMode(),防截屏可以做到组件级别吗,从A页面跳转B页面,A防截屏,B不防截屏

2 回复
[https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkui-3-V5](https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkui-3-V5)

1. 开启
2. onPageShow() {
   windowUtils.setWindowPrivacyModeInPage(getContext(this) as common.UIAbilityContext, true);
   }
3. 关闭
4. onPageHide() {
   windowUtils.setWindowPrivacyModeInPage(getContext(this) as common.UIAbilityContext, false);
   }

更多关于HarmonyOS 鸿蒙Next如何对每个页面单独设置防截屏录屏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS中,可以通过Window类的setSecure方法来为每个页面单独设置防截屏和录屏。具体步骤如下:

  1. 获取Window对象:在每个页面的onWindowFocusChanged方法中获取当前页面的Window对象。
  2. 设置防截屏录屏:调用Window对象的setSecure方法,传入true来启用防截屏和录屏功能。

示例代码如下:

import window from '@ohos.window';

onWindowFocusChanged(isFocus: boolean) {
    if (isFocus) {
        window.getLastWindow(this.context).then((win) => {
            win.setSecure(true);
        });
    }
}

在这个示例中,onWindowFocusChanged方法会在页面获得焦点时被调用,通过window.getLastWindow获取当前页面的Window对象,然后调用setSecure(true)来启用防截屏和录屏功能。

如果需要取消防截屏和录屏功能,可以调用setSecure(false)

win.setSecure(false);

通过这种方式,可以为每个页面单独设置防截屏和录屏功能。

回到顶部