防止其他应用程序形成捕获/记录屏幕

时间:2015-06-03 10:40:23

标签: android screen capture recording

基本上我想要视频盗版保护

我的应用程序有视频流,我想保护我的视频流免受其他应用程序的影响。其他应用程序不应该在播放视频时捕获屏幕。任何建议我怎么能实现这一点..提前谢谢。

3 个答案:

答案 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);