tencent cloud

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

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;
}
}


帮助和支持

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

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

文档反馈