tencent cloud

腾讯云超级应用服务

动态与公告
【2025年1月2日】关于腾讯云小程序平台更名为腾讯云超级应用服务的公告
控制台更新动态
Android SDK 更新动态
iOS SDK 更新动态
Flutter 更新动态
IDE 更新动态
基础库更新动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
按量计费(后付费)
续费指引
停服说明
快速入门
套餐管理
概述
控制台账号管理
存储配置
加速配置
品牌化配置
平台功能
控制台登录
用户和权限体系
小程序管理
小游戏管理
应用管理
商业化
平台管理
用户管理
团队管理
运营管理
安全中心
代码接入指引
Demo 及 SDK 获取
Android
iOS
Flutter
App 服务端接入指南
GUID 生成规则
小程序开发指南
小程序介绍与开发环境
小程序代码组成
指南
框架
组件
API
服务端
JS SDK
基础库
IDE 使用指南
小游戏开发指南
指南
API
服务端
实践教程
小程序登录实践教程
小程序订阅消息实践教程
支付相关实践教程
广告接入实践教程
小游戏订阅消息实践教程
相关协议
数据处理和安全协议

截屏、录屏事件和添加水印

PDF
聚焦模式
字号
最后更新时间: 2025-07-04 17:33:29
使用 MediaObserveUtil 监听截屏事件:
MediaObserveUtil.getInstance().addListener(new OnScreenShotListener() {
@Override
public void onScreenShot(String imagePath) {
// 处理截屏事件
}
});
在 Activity 中设置 FLAG_SECURE 标志来禁止截屏:
activity.getWindow().setFlags(
WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE
);
通过 IScreenRecord 接口监听录屏状态:
public interface IScreenRecord {
int RECORD_STATUS_HIDDEN = 0;
int RECORD_STATUS_SHOW = 1;
int RECORD_STATUS_RECORDING = 2;
void onScreenCaptureStarted();
void onScreenCapturePaused();
void onScreenCaptureResumed();
void onScreenCaptureStopped(int reason);
}
添加水印:
// 1. 图片水印
BitmapUtils.addWatermark(
watermark, // 水印图片
image, // 原图
srcImageWidth, // 原图宽度
offsetX, // X轴偏移
offsetY, // Y轴偏移
addInLeft, // 是否在左侧
orientation // 旋转角度
);

// 2. 文字水印
BitmapUtils.addWatermarkWithText(
watermark, // 水印图片
image, // 原图
srcImageWidth, // 原图宽度
text, // 水印文字
offsetX, // X轴偏移
offsetY, // Y轴偏移
addInLeft, // 是否在左侧
orientation // 旋转角度
);

// 3. 视频水印
// 通过 TXJSAdapterConstants 设置视频水印参数
PUSHER_KEY_WATERMARK_IMAGE // 水印图片
PUSHER_KEY_WATERMARK_LEFT // 水印X坐标(百分比)
PUSHER_KEY_WATERMARK_TOP // 水印Y坐标(百分比)
PUSHER_KEY_WATERMARK_WIDTH // 水印宽度(百分比)
实现 IWaterMakerProxy 接口创建自定义水印视图:
// 实现 IWaterMakerProxy 接口创建自定义水印视图
@ProxyService(proxy = IWaterMakerProxy.class)
public class MiniWaterMarkProxy implements IWaterMakerProxy {
@Override
public View createWatermarkView(Context context, LayoutParams layoutParams,
MiniAppInfo finAppInfo, JSONObject jsonObject) {
TextView textView = new TextView(context);
textView.setText("TCMPP Auth");
textView.setTextColor(Color.RED);
textView.setTextSize(30);
// 设置水印位置和大小
layoutParams.topMargin = 600;
layoutParams.width = 1000;
layoutParams.height = 1000;
layoutParams.leftMargin = 100;
return textView;
}
}


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈