吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 455|回复: 7
收起左侧

[求助] 请问安卓 app 能否阻止其他录屏软件进行录屏?

[复制链接]
elvis6789 发表于 2024-9-24 10:26
rt ,我是个开发小白,朋友想开发一个 app ,阻止其他录屏 app 进行录屏,请问能否实现这个功能?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

海是倒过来的天 发表于 2024-9-24 11:57
录屏应该容易阻止,但是当我拿出另外一个手机录视频的时候。阁下该如何应对
aa868682008 发表于 2024-9-24 12:28
yeaa 发表于 2024-9-24 13:20
海是倒过来的天 发表于 2024-9-24 11:57
录屏应该容易阻止,但是当我拿出另外一个手机录视频的时候。阁下该如何应对

获取摄像头权限识别手机在前面就停止运行
zhuxiangyu1024 发表于 2024-9-24 13:41
自己百度就行,其实就是加个配置。破解也容易,删除这个配置。。。加个360免费壳就行了,解决99的小白。
ytw6176 发表于 2024-9-24 14:24
windows有条api直接可以黑屏,安卓应该也有类似
RootPotence 发表于 2024-9-24 16:01
1. 检测录屏软件
思路:尝试检测已知的录屏软件是否在运行,并给出警告或阻止应用功能。

除了通过包名检测已知录屏软件外,还可以检测软件的权限,例如某些录屏软件可能具有特定的屏幕捕捉权限,通过检查正在运行的应用是否具有这些权限来判断是否为录屏软件。同时,也可以从行为特征方面进行检测,例如录屏软件在运行时可能会有较高的CPU使用率或者特定的内存占用模式等。
使用ActivityManager来获取当前运行的服务和应用。

[Java] 纯文本查看 复制代码
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
    if (appProcess.processName.equals("已知的录屏软件包名")) {
        // 给出警告或采取其他措施
    }
}

这种方法的局限性在于,无法检测未知的录屏软件或者新出现的录屏软件,并且如果录屏软件更改包名就可能无法检测到。

2. 使用安全窗口标志
思路:使用窗口标志来增加录屏的难度。

在你的应用中,为窗口设置FLAG_SECURE标志,这可以防止窗口内容被截屏或录屏。
在Activity的onCreate方法中设置:
[Java] 纯文本查看 复制代码
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);

这种方法虽然能防止窗口内容被截屏或录屏,但对于一些高级的录屏技术可能无效,并且如果用户使用外部设备进行屏幕录制则无法阻止。

3. 监控和警告
思路:即使无法完全阻止录屏,你也可以在应用内监控录屏行为,并警告用户。

可以通过检测系统的MediaProjection API的使用情况来判断是否有录屏行为,因为很多录屏软件会调用这个API。在日志方面,可以查看系统日志中是否有与屏幕捕捉相关的关键字或者事件。
如果检测到录屏行为,你可以显示一个白屏 或者   显示一个警告对话框,告知用户录屏是禁止的,并可能终止某些功能。
这种方法只是一种监控和警告手段,不能真正阻止录屏行为,并且检测可能存在误判的情况。
 楼主| elvis6789 发表于 2024-9-24 22:04
感谢各位大佬的回复
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 12:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表