HarmonyOS 如何只给具体某个页面设置防截屏?

如题:HarmonyOS 如何只给具体某个页面设置防截屏?

阅读 414
1 个回答

参考示例如下:

1.EntryAbility.ets的onWindowStageCreate中获取mainWindow并保存。

let windowClass = windowStage.getMainWindowSync()
globalThis.mainWindow = windowClass

2.设置禁止截屏页面(注意:需要先在module.json5中配置隐私窗口权限ohos.permission.PRIVACY\_WINDOW)

import window from '@ohos.window'

@Entry
@Component
struct Page32 {
  @State message: string = 'Hello World'
  mainWindow :window.Window = globalThis.mainWindow

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }

  onPageShow(){
    this.mainWindow.setWindowPrivacyMode(true)
  }

  onPageHide(){
    this.mainWindow.setWindowPrivacyMode(false)
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进