在HarmonyOS NEXT开发中防截屏实现?

在HarmonyOS NEXT开发中防截屏实现?在某一个page里面开启防截屏,获取window需要做些什么操作吗?

阅读 1.2k
1 个回答

参考以下步骤和demo:
1、在module.json5文件中声明需要使用的 ohos.permission.PRIVACY_WINDOW 权限,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides...
"requestPermissions": [
{

"name": "ohos.permission.PRIVACY_WINDOW" 

}
]
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); 
    }) 
  } 
} 
//页面 
import common from '@ohos.app.ability.common'; 
import { windowUtils } from '../common/windowUtils'; 
@Entry 
@Component 
struct Index3 { 
  @State message: string = 'Hello World'; 
  onPageShow(): void { 
    windowUtils.setWindowPrivacyModeInPage(getContext(this) as common.UIAbilityContext, true); 
  } 
  onPageHide() { 
    windowUtils.setWindowPrivacyModeInPage(getContext(this) as common.UIAbilityContext,false); 
  } 
  build() { 
    Row() { 
      Column() { 
        Text(this.message) 
          .fontSize(50) 
          .fontWeight(FontWeight.Bold) 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进