HarmonyOS 录屏禁用;是否正在录屏检测

1、调用windowClass.setWindowPrivacyMode(false),禁止录屏后,回到手机桌面(没有终止进程),再次打开app,就可以正常录屏。麻烦确认下是已知问题吗?有修改方案吗?

2、调用display.isCaptured(),经测试一直返回true,麻烦确认下是已知问题吗?有修改方案吗?

HarmonyOS
2025-01-09 14:17:12
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

监听参考:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-display-V5#displayoncapturestatuschange12

手动判断截屏/录屏参考:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-display-V5#displayiscaptured12

1、配置权限:"name": "ohos.permission.PRIVACY_WINDOW"

2、尝试以下demo:

import { BusinessError, deviceInfo } from '@kit.BasicServicesKit';
import { display, window } from '@kit.ArkUI';
@Entry
@Component
struct Index {
  async setPreventScreen() {
  let windowClass: window.Window = await window.getLastWindow(getContext(this))
  try {
    //设置防截屏录屏
    let promise = windowClass.setWindowPrivacyMode(true);
    promise.then(() => {
      console.info('-----成功-------');
    }).catch((err: BusinessError) => {
      console.error(`ErrorCode: ${err.code}, -----失败-------: ${err.message}`);
    })
  } catch (e) {
    console.info('避免录屏失败')
  }
}
  aboutToAppear(): void {
    this.setPreventScreen()
    let callback: Callback<boolean> = (captureStatus: boolean) => {
      console.info('-----监听------: ' + captureStatus);
    };
    display.on('captureStatusChange', callback);
  }

  build() {
    Row() {
      Column() {
        Button("是否在录屏")
          .onClick(() => {
            let ret: boolean = false;
            ret = display.isCaptured();
            console.info('-----手动判断------: ' + ret);
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}
分享
微博
QQ
微信
回复
2025-01-09 17:23:31
相关问题
HarmonyOS 如何禁用
570浏览 • 1回复 待解决
HarmonyOS是否的API
727浏览 • 1回复 待解决
如何截、投
2459浏览 • 1回复 待解决
HarmonyOS
415浏览 • 1回复 待解决
HarmonyOS 是否有监听的api
271浏览 • 1回复 待解决
防止屏幕截或者
994浏览 • 1回复 待解决
HarmonyOS 如何禁止截
815浏览 • 1回复 待解决
HarmonyOS 是否有防的功能
551浏览 • 1回复 待解决
HarmonyOS 不被截或者如何实现
295浏览 • 1回复 待解决
HarmonyOS 如何区分截事件
470浏览 • 1回复 待解决
HarmonyOS 如何防截
532浏览 • 1回复 待解决
HarmonyOS 如何设置放截
803浏览 • 1回复 待解决
请问API有没有功能
9367浏览 • 1回复 待解决
HarmonyOS 自定义键盘防方案
401浏览 • 1回复 待解决