检测Android 4.0上的屏幕截图尝试

我正在开发一个 Android应用程序,它高度重视保护用户的数据,以便在本地设备的永久内存中保存任何内容.

为了进一步保护用户数据,我们希望每当有人试图截取活动应用程序的屏幕截图时,都会向我们的服务器发出Web服务调用.

到目前为止我看到的解决方案包括this snippet,旨在防止截屏被截取并在用户的Toast中抛出屏幕截图失败消息.我正在考虑的另一种方法是收听一些设备用来截取屏幕截图和电源按钮的组合(尽管三星S4等设备偏离此方法).我的最后一招是在应用程序运行时使用FileObserver in the location of the screenshot Gallery进行更改,但这似乎也是次优解决方案并引入了我不想拥有的权限请求.我也无法确定图像的文件目的地.

我相信Snapchat应用程序能够在远程用户尝试截取屏幕截图时提醒参与者.对于如何实现此功能,您有什么建议吗?也欢迎非官方方法.

解决方法

FLAG_SECURE可能是避免在窗口中截屏的最佳方法,但正如一些评论者在这里所说的,它有一些解决方法.

也许this answer解决了关于他们如何在Snapchat中执行此操作以检测截屏何时拍摄的问题.

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...