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

Aja*_*jay 14 android screen capture recording

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

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

sil*_*war 36

您可以通过在Activity中添加FLAG_SECURE来保护屏幕捕获功能,如下所示

  getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE); 
Run Code Online (Sandbox Code Playgroud)

检查链接说

屏幕捕获和共享

Android 5.0允许您使用新的android.media.projection API为您的应用添加屏幕捕获和屏幕共享功能.例如,如果要在视频会议应用中启用屏幕共享,此功能很有用.

新的createVirtualDisplay()方法允许您的应用程序将主屏幕的内容(默认显示)捕获到Surface对象中,然后您的应用可以通过网络发送该对象.API仅允许捕获非安全屏幕内容,而不是系统音频.要开始屏幕捕获,您的应用必须首先通过使用通过createScreenCaptureIntent()方法获得的Intent启动屏幕捕获对话框来请求用户的许可.

此链接上的文档也说明了 一点

窗口标志:将窗口内容视为安全,防止它出现在屏幕截图中或防止在非安全显示器上查看.

以上解决方案肯定会阻止应用程序捕获您的应用程序的视频

  • 在横向模式下无法在android 7.0中工作 (2认同)

ars*_*ikh 7

  getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
Run Code Online (Sandbox Code Playgroud)

写在上面 setContenView();

它仅防止快照捕获。并且还可以防止视频捕获。但是对于视频捕获其设备特定。