请问安卓 app 能否阻止其他录屏软件进行录屏?
rt ,我是个开发小白,朋友想开发一个 app ,阻止其他录屏 app 进行录屏,请问能否实现这个功能? 录屏应该容易阻止,但是当我拿出另外一个手机录视频的时候。阁下该如何应对 一看就知道两位都是狠人。 海是倒过来的天 发表于 2024-9-24 11:57录屏应该容易阻止,但是当我拿出另外一个手机录视频的时候。阁下该如何应对
获取摄像头权限识别手机在前面就停止运行 自己百度就行,其实就是加个配置。破解也容易,删除这个配置。。。加个360免费壳就行了,解决99的小白。 windows有条api直接可以黑屏,安卓应该也有类似 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。在日志方面,可以查看系统日志中是否有与屏幕捕捉相关的关键字或者事件。
如果检测到录屏行为,你可以显示一个白屏 或者 显示一个警告对话框,告知用户录屏是禁止的,并可能终止某些功能。
这种方法只是一种监控和警告手段,不能真正阻止录屏行为,并且检测可能存在误判的情况。 感谢各位大佬的回复
页:
[1]