更新记录
1.0.0(2026-07-09)
初始版本,安卓拦截截屏和录屏,iOS录屏拦截
平台兼容性
uni-app(4.28)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| - | - | - | - | √ | √ | 9.0 | 12 | √ |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - | - |
uni-app x(4.28)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | 9.0 | 12 | √ | - |
禁止截屏、录屏 UTS 插件
- 当前版本:1.0.0;
- 插件 ID:
vutet-screenshot; - 插件类型:
uni_modulesUTS 插件; - 发布包:
vutet-screenshot/vutet-screenshot_v1.0.0.zip; - Android 使用
FLAG_SECURE禁止截屏和录屏,并在开启时刷新当前窗口,覆盖“先录屏再进入应用开启保护”的场景; - iOS 不支持系统层面提前阻止静态截屏,插件会在截屏后回调提醒;
- iOS 录屏/投屏期间显示全屏黑色保护遮罩,录屏结束后自动移除;如果先录屏再调用
enable(callback),也会立即显示遮罩; - HarmonyOS 使用窗口隐私模式。
接口
| 方法 | 平台 | 说明 |
|---|---|---|
enable(callback) |
Android、iOS、HarmonyOS | 开启截屏/录屏保护 |
disable(callback) |
Android、iOS、HarmonyOS | 关闭截屏/录屏保护 |
uni-app 使用示例
// 技术支持:***274472113
const screenShotModule = require("@/uni_modules/vutet-screenshot");
screenShotModule.enable((res) => {
console.log(res);
// Android:
// { code: 200, message: "已开启截屏/录屏保护", platform: "android" }
//
// iOS:
// {
// code: 200,
// message: "已开启截屏/录屏保护",
// event: "enabled",
// platform: "ios",
// captured: false,
// protected: true
// }
});
关闭保护
const screenShotModule = require("@/uni_modules/vutet-screenshot");
screenShotModule.disable((res) => {
console.log(res);
// { code: 200, message: "已关闭截屏/录屏保护" }
});
回调事件说明
iOS 开启保护后,回调可能被多次触发:
{
code: 200,
message: "检测到截屏行为",
event: "screenshot",
platform: "ios",
captured: false,
protected: true
}
常见 event:
| event | 说明 |
|---|---|
enabled |
已开启截屏/录屏保护 |
disabled |
已关闭截屏/录屏保护 |
screenshot |
iOS 检测到用户截屏 |
captured |
iOS 检测到录屏/投屏,已显示保护遮罩 |
captureEnded |
iOS 录屏/投屏结束,已移除保护遮罩 |
平台说明
- Android 系统可通过
FLAG_SECURE直接阻止截屏和录屏,开启后系统截图通常为空或失败。 - Android 在
enable(callback)后即可保护当前窗口;如果录屏已先开始,则从开启保护后的画面开始被系统安全窗口拦截。 - iOS 不提供完全禁止用户静态截屏的公开 API;插件只能在截屏后收到系统通知并回调。
- iOS 录屏/投屏可通过
UIScreen.main.isCaptured和捕获状态变化通知检测,插件会显示全屏黑色遮罩直到录屏/投屏结束。 UIScreenCapturedDidChangeNotification和isCaptured从 iOS 11 开始可用;低版本 iOS 仍可监听截屏事件,但无法检测录屏/投屏状态。
打包说明
插件包按 UTS uni_modules 结构交付:
vutet-screenshot_v1.0.0.zip
├── package.json
├── readme.md
├── changelog.md
└── utssdk/
注意:压缩包根目录必须直接存在 utssdk 目录,不能多包一层 vutet-screenshot/ 目录。
问题反馈
插件可能存在的问题:
- iOS 无法从系统层面完全阻止用户静态截屏,只能检测截屏事件并回调;
- iOS 录屏/投屏通过黑色遮罩保护内容,模拟器系统录屏可能无法稳定触发真实设备上的录屏状态回调;
- Android 不支持截屏事件回调,只负责禁止截屏/录屏;
- 联系 ***。

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 781
赞赏 1
下载 12410168
赞赏 1930
赞赏
京公网安备:11010802035340号