elvis6789 发表于 2024-9-24 10:26

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

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来获取当前运行的服务和应用。

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方法中设置:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
这种方法虽然能防止窗口内容被截屏或录屏,但对于一些高级的录屏技术可能无效,并且如果用户使用外部设备进行屏幕录制则无法阻止。

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

可以通过检测系统的MediaProjection API的使用情况来判断是否有录屏行为,因为很多录屏软件会调用这个API。在日志方面,可以查看系统日志中是否有与屏幕捕捉相关的关键字或者事件。
如果检测到录屏行为,你可以显示一个白屏 或者   显示一个警告对话框,告知用户录屏是禁止的,并可能终止某些功能。
这种方法只是一种监控和警告手段,不能真正阻止录屏行为,并且检测可能存在误判的情况。

elvis6789 发表于 2024-9-24 22:04

感谢各位大佬的回复
页: [1]
查看完整版本: 请问安卓 app 能否阻止其他录屏软件进行录屏?