防止用户截屏录屏有几种方式
1、当检测到截屏录屏操作时候,增加提示和水印
2、当检测截屏录屏操作时候,暴力删除相册录屏截屏内容
3、利用系统内置让截屏内容变成空白
下满我们来说说安卓和ios在uniapp中开发怎么实现禁止用户截屏录屏。
1、andriod中使用uniapp防止用户截屏录屏方法
首先保证页面是全屏显示,然后执行下面代码即可实现:
var activity = plus.android.runtimeMainActivity() plus.android.invoke(plus.android.invoke(activity, "getWindow"), "addFlags", 0x00002000)
如何全局禁止截屏录屏的话直接在app.vue的onlaunch中设置。
完整的代码<template> <view> <button @tap="addFlags">禁止截屏录屏</button> <button @tap="clearFlags">可以截屏录屏</button> </view> </template> <script> export default { data() { return { } }, onUnload() { plus.navigator.setFullscreen(false) // 不行就多调用几次 this.clearFlags() }, onLoad(option) { plus.navigator.setFullscreen(true) this.addFlags() }, onBackPress(e) { if (e.from === 'backbutton') { uni.navigateBack(); return true; } }, methods: { // 禁止截屏 addFlags() { // #ifdef APP-PLUS let osname = plus.os.name if (osname == "Android") { var activity = plus.android.runtimeMainActivity() plus.android.invoke(plus.android.invoke(activity, "getWindow"), "addFlags", 0x00002000) } // #endif }, // 允许截屏 clearFlags() { // #ifdef APP-PLUS let osname = plus.os.name if (osname == "Android") { var activity = plus.android.runtimeMainActivity() plus.android.invoke(plus.android.invoke(activity, "getWindow"), "clearFlags", 0x00002000) } // #endif } } } </script> <style> </style>2、如何ios的话UITextField 的 isSecureTextEntry 设置为 true 的时候,会隐去输入的文案用 圆点 替代。
并且在进行录屏或者截屏的时候都会被系统隐去,利用这个特性,我们可以开发一款自己的ios插件,然后导入到uniapp中进行调用
开源免费的项目:https://github.com/RyukieSama/Swifty
收费的插件也有:https://screenshieldkit.com/
网友回复
DLNA与UPnP的区别和不同?
苏超自建抢票app,通过先预约再抽签化解高并发抢票?
python如何让给电脑在局域网中伪装成电视接收手机的投屏图片视频播放?
如何结合python+js如何自己的视频编码与加密播放直播?
python如何在电脑上通过局域网将本地视频或m3u8视频投屏电视播放?
腾讯视频爱奇艺优酷vip电影电视剧视频如何通过python绕过vip收费直接观看?
有没有可免费观看全球电视台直播m3u8地址url的合集?
有没有实现观影自由的免vip影视苹果 CMS V10 API的可用url?
python如何实时检测电脑usb插入检测报警?
如何判断真人操作的鼠标移动直线轨迹与机器操作的轨迹?