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

基本上我想要video盗版保护

我的应用程序有videostream,我想保护我的videostream从其他应用程序。 其他应用程序不应该能够捕捉屏幕,而我的video正在播放。 任何build议如何才能实现这一点..在此先感谢。

Solutions Collecting From Web of "防止其他应用程序形成捕获/logging屏幕"

您可以通过将FLAG_SECURE添加到您的活动中来保护屏幕捕获function,如下所示

getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE); 

检查这个链接说

屏幕捕获和共享

Android 5.0允许您使用新的android.media.projection API为您的应用添加屏幕截图和屏幕分享function。 例如,如果要在video会议应用程序中启用屏幕共享,此function很有用。

新的createVirtualDisplay()方法允许您的应用程序将主屏幕(默认显示)的内容捕获到Surface对象中,然后您的应用程序可以通过networking发送该对象。 该API只允许捕获不安全的屏幕内容 ,而不是系统audio。 要开始屏幕截图,您的应用程序必须首先通过使用通过createScreenCaptureIntent()方法获取的Intent启动屏幕截图对话框来请求用户的权限。

另外在这个链接的文档说

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

以上解决scheme肯定会阻止应用程序捕获您的应用程序的video

  getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE); 

写上面setContenView();

它仅防止快照捕获。 而且还防止video捕捉。 但对于video捕捉其设备特定。

尝试在你的Activity添加这个,

 getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);