HarmonyOS 避免涉及口令输入的应用界面可以被截屏或录屏?

项目只有一个abilities页面,拥有多个pages,该如何在某个pages页面禁用截屏和录屏

阅读 497
1 个回答

1.在模块级别 module.json5添加权限 ohos.permission.PRIVACY\_WINDOW (module -\> requestPermissions)

2.示例代码:

// windowUtils.ets
import window from '@ohos.window';
import common from '@ohos.app.ability.common';

export class windowUtils {
  static setWindowPrivacyModeInPage(context: common.UIAbilityContext,isFlag: boolean) {
    window.getLastWindow(context).then((lastWindow)=>{
      lastWindow.setWindowPrivacyMode(isFlag);
    })
  }
}

// index.ets 文件
import common from '@ohos.app.ability.common';
import { windowUtils } from '../common/windowUtils';
struct SwiperExample {
  onPageShow() {
    //let windowInstance: window.WindowStage = AppStorage.get("mainWindow") as window.WindowStage;
    // windowInstance.getMainWindowSync().setWindowPrivacyMode(true);
    windowUtils.setWindowPrivacyModeInPage(getContext(this) as common.UIAbilityContext, true);
  }
  onPageHide() {
    windowUtils.setWindowPrivacyModeInPage(getContext(this) as common.UIAbilityContext,false);
  }
  build() {}
}