APP,限制截屏功能,如何解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了APP,限制截屏功能,如何解决相关的知识,希望对你有一定的参考价值。

这是手机为了保护个人隐私安全设置的选项,以华为手机为例,截图方式如下:

1、在截取一些特定界面时,下方会提示此应用或所在单位不允许截图。这时,可以使用华为手机的指关节截图功能,就可以进行截取。

2、打开华为手机进入后,选择设置的图标进入。

3、在设置列表内,点击“智能辅助”的选项。

4、点击进入后,选择“手势控制”的选项。

5、在手势控制中的指关节手势内,点击“智能截屏”的选项。

6、进入后,可以看到智能截屏的手势方法,需要视频指关节在屏幕中画出闭合图案进行截图。点击开启智能截屏。

7、开启后,在无法截屏的界面,使用指关节画出图案,然后调整截图的区域。

8、调整后,点击下方的保存,即可保存无法截图的界面。

参考技术A

若使用的vivo手机,属于应用本身显示无法截屏,建议咨询软件方是否有相关功能开关,部分界面不支持截屏,请更换其他界面尝试。

若其他机型可截屏,可以参考以下方法:

1、存储空间不足会导致截屏失败,建议进入i管家适当清理;

2、重启后再尝试;

3、进入设置--系统管理/更多设置--备份与重置--还原所有设置--还原后再尝试操作。

还原所有设置不会删除文件,会把设置选项还原,操作前可备份重要数据。

若上述方法操作后无效 ,可进入vivo官网/vivo商城APP--我的--在线客服或者vivo官网网页版--下滑底部--在线客服--输入人工客服进入咨询了解。

vivo X90 Pro

¥4999

vivo X Fold+

¥9999

vivo S16 Pro

¥2999

vivo Pad

¥2499

    官方电话官方服务
      官方网站寄修服务服务中心配件价格在线客服保障服务

electron学习笔记如何在electron集成截屏功能?

背景

前段时间一直在做一款 electron 的 IM 聊天应用,其中需要实现 “截屏并发送截屏文件” 的功能。因此,翻阅了资料并且进行了对比研究,发现有两种可以实现的方案,下面来给大家介绍一下。


一、electron 自带的API:desktopCapture

这种方法是最简单易用的,但由于 electron 是自带的,对其要求不能太高,只能单纯地把整个屏幕截图返回,而且可能会有一些卡顿。

范例代码如下:

// In the renderer process.
const desktopCapturer = require(electron)

desktopCapturer.getSources( types: [window, screen] ).then(async sources =>
for (const source of sources)
if (source.name === Electron)
try
const stream = await navigator.mediaDevices.getUserMedia(
audio: false,
video:
mandatory:
chromeMediaSource: desktop,
chromeMediaSourceId: source.id,
minWidth: 1280,
maxWidth: 1280,
minHeight: 720,
maxHeight: 720


)
handleStream(stream)
catch (e)
handleError(e)

return


)

有兴趣的小伙伴,可以查看一下API文档​。


二、集成截图软件:exe

在百度找了两款能使用的截图应用程序(链接分享在文章尾部),利用 node 的child_process 的 execFile 方法启动应用,并在应用关闭的时候去获取粘贴板上的图片。

具体代码如下:

1、启动应用,并监听应用关闭

let imageObj: any;
const child = execFile(exeurl, [--unhandled-rejections=strict], (error: any, stdout: any, stderr: any) =>
console.log(ERROR, error, stdout, stderr);
if (error)
console.log(系统错误或取消截图);
return

let imageObj: any = clipboard.readImage();
if(!imageObj.isEmpty())
imageObj = imageObj.toDataURL();
if(imageObj !== oldShotImg)
oldShotImg = imageObj;


);

这里会有一个问题:启动应用之后,用户可以取消截图,就是我们在应用关闭之后,可能会出现 “取不到截图” 或者 “取到的截图跟上一次截图一样” 的情况。​

为了解决这个问题,就需要先判断粘贴板是否有图片(这个很好处理,可参考 electron 的API)。

另外,可以先存储上一次的截图,然后跟最新的做对比,不一样的才是现有的。


总结

总的来说,两种方式都是可以实现截图的,但实现效果是不一样的。

第一种是简单简约型,基本就是生成截图。

第二种是根据所采用应用程序的功能丰富程度而定,类似我找到的两款应用,基本上涵盖了像QQ截图的所有功能,例如:截图之后的标点、圈圈、注释、保存等功能,相对丰富,使用上也是比较简单的。

最终选择哪种方式,我们还是要看具体项目的需求而定,个人会比较倾向第二种方式。

最后,分享两款应用的链接:

1、https://www.qqxiazai.com/down/44428.html
2、https://dl.pconline.com.cn/download/2272902.html


给大家分享更多 electron 实战中的点滴,如果大家对此感兴趣,欢迎各位关注、留言,大家的支持就是我的动力!

以上是关于APP,限制截屏功能,如何解决的主要内容,如果未能解决你的问题,请参考以下文章

为啥我要截屏它说是因为安全政策限制不能截屏

不允许截屏的软件怎么办?

怎样解除应用截屏限制?

Atitit截屏功能的设计解决方案

我该如何解决“[App] 如果我们在真正的预提交处理程序中,由于 CA 限制我们实际上不能添加任何新的栅栏”?

Android 4.0 ,如何截屏,当竖屏时。