更新记录
1.0.0(2026-08-18)
- 首次发布 HarmonyOS 应用级防截屏、防录屏能力。
- 增加
enableScreenProtection、disableScreenProtection、onScreenCaptureAttempt和offScreenCaptureAttempt。 - 增加
PRIVACY_WINDOW权限配置说明、统一返回结果和截屏尝试回调。 - 明确 HarmonyOS、普通授权和源码授权的交付边界。
平台兼容性
uni-app(4.55)
| Vue2 | Vue3 | Vue3插件版本 | Chrome | Safari | app-vue | app-vue插件版本 | app-nvue | app-nvue插件版本 | Android | iOS | 鸿蒙 | 鸿蒙插件版本 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| × | √ | 1.0.0 | - | - | √ | 1.0.0 | √ | 1.0.0 | × | × | 20 | 1.0.0 |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - | - |
uni-app x(4.55)
| Chrome | Safari | Android | iOS | 鸿蒙 | 鸿蒙插件版本 | 微信小程序 |
|---|---|---|---|---|---|---|
| - | - | - | - | 20 | 1.0.0 | - |
HarmonyOS 防截屏防录屏
lzt-screen-protection 是面向 uni-app Vue3 HarmonyOS App 的 UTS 插件,用于设置应用窗口隐私模式,阻止系统截屏和录屏获取应用内容,并在系统提供截屏尝试事件时回调通知。
支持范围
- 运行端:HarmonyOS App。
- 项目:uni-app Vue3。
- HBuilderX:4.24.0 及以上。
- 不承诺 Android、iOS、H5 或小程序兼容性。
安装后的权限配置
插件需要 ohos.permission.PRIVACY_WINDOW。在项目的 harmony-configs/entry/src/main/module.json5 中确认 requestPermissions 包含以下配置;如果项目没有该目录,先在 HBuilderX 运行一次 HarmonyOS 项目生成目录结构。
{
"module": {
"requestPermissions": [
{
"name": "ohos.permission.PRIVACY_WINDOW",
"reason": "$string:screen_protection_permission_reason",
"usedScene": {
"abilities": ["EntryAbility"],
"when": "inuse"
}
}
]
}
}
同时在 harmony-configs/AppScope/resources/base/element/string.json 添加 screen_protection_permission_reason 字符串。重新运行时建议选择“清空缓存”。
基本用法
import {
enableScreenProtection,
onScreenCaptureAttempt,
offScreenCaptureAttempt,
disableScreenProtection
} from '@/uni_modules/lzt-screen-protection'
const SCREEN_PROTECTION_ENABLED = true
const captureCallback = () => {
uni.showToast({ title: '当前页面禁止截屏', icon: 'none' })
}
if (SCREEN_PROTECTION_ENABLED) {
const result = await enableScreenProtection()
if (!result.supported) {
console.error('[screen-protection] ' + result.message)
} else {
const eventResult = onScreenCaptureAttempt(captureCallback)
if (!eventResult.eventSupported) {
console.error('[screen-protection] ' + eventResult.message)
}
}
}
// 后续需要关闭时调用:
// offScreenCaptureAttempt()
// await disableScreenProtection()
SCREEN_PROTECTION_ENABLED 是使用方的应用级开关。设为 false 时不要调用启用、监听和权限申请方法;修改后需要重新运行或打包应用。
返回结果
所有方法返回统一结构:
| 字段 | 含义 |
|---|---|
supported |
当前平台或窗口保护是否可用 |
eventSupported |
是否支持截屏尝试事件 |
message |
面向日志和排查的中文说明 |
当 eventSupported 为 false 时,不代表窗口保护失败;HarmonyOS 仍可能已经阻止系统截屏和录屏,只是不提供实时事件回调。
授权与试用
- 试用:通过独立签名演示应用验证,不分发试用源码。
- 普通授权:49 元,单个 HarmonyOS
bundleName永久使用,不含插件源码。 - 源码授权:199 元,交付插件完整源码、类型声明、权限配置示例和文档。
- 普通授权不提供在线激活、订阅续费或设备绑定技术校验;使用范围以商品授权条款为准。
- 禁止将普通授权插件包或源码再次销售、公开分发或用于制作同类插件。
防护边界
该插件阻止系统对应用窗口进行被动截屏和录屏,不能阻止外部相机拍摄屏幕,也不限制应用自身主动采集屏幕内容。实际效果与 HarmonyOS 版本、设备策略和权限签名有关,购买前请在目标设备上验证。

收藏人数:
购买普通授权版(
试用
赞赏(0)
下载 4
赞赏 0
下载 12515368
赞赏 1943
赞赏
京公网安备:11010802035340号