一、问题背景:
金融类或者高密性质的应用APP,对于截屏和录屏场景,某些业务下是禁止不允许。
目前这种场景的需求也是非常有必要的,很多电诈都是通过远程录屏软件,获取到账户密码或者验证码。如此掌控受害人的帐号所有权。
那禁止截屏和录屏在鸿蒙中如何实现呢?
二、解决方案:
1.首先我需要主模块申请权限:ohos.permission.PRIVACY_WINDOW
2.之后调用setWindowPrivacyMode禁止截屏/录屏。
三、DEMO示例:
import { BusinessError } from '@kit.BasicServicesKit';
import { window } from "@kit.ArkUI";
let isPrivacyMode: boolean = true;
let windowClass: window.Window = window.findWindow("test");
let promise = windowClass.setWindowPrivacyMode(isPrivacyMode); // 设置防截屏录屏
promise.then(() => {
console.info('Succeeded in setting the window to privacy mode.');
}).catch((err: BusinessError) => {
console.error(`ErrorCode: ${err.code}, Message: ${err.message}`);
})