基本上我想要视频盗版保护
我的应用程序有视频流,我想保护我的视频流免受其他应用程序的影响。其他应用程序不应该在播放视频时捕获屏幕。任何建议我怎么能实现这一点..提前谢谢。
答案 0 :(得分:31)
您可以通过在活动中添加FLAG_SECURE来保护屏幕捕获功能,如下所示
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
查看<{p}}的this链接
屏幕截图和分享
Android 5.0允许您添加屏幕捕获和屏幕共享 使用新的android.media.projection API为您的应用程序提供的功能。 例如,如果要启用此功能,则此功能非常有用 视频会议应用中的屏幕共享。
新的createVirtualDisplay()方法允许您的应用捕获 主屏幕的内容(默认显示)进入Surface 对象,然后您的应用可以通过网络发送。仅限API 允许捕获非安全屏幕内容,而不是系统音频。至 开始屏幕捕获,您的应用必须首先请求用户 通过使用Intent启动屏幕捕获对话框来获得权限 通过createScreenCaptureIntent()方法获得。
this link上的文档也说明了
窗口标记:将窗口内容视为安全,阻止它 从屏幕截图中显示或在非安全时查看 显示器强>
以上解决方案肯定会阻止应用程序捕获您应用的视频
答案 1 :(得分:4)
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
在上面写setContenView();
它仅阻止快照捕获。并且还可以防止视频捕获。但是对于视频捕获其特定的设备。
答案 2 :(得分:1)
尝试在Activity
,
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);