我有一个Activity
,其中有Fragment
,其中有ViewPager
张图片。在ViewPager
中,可能存在某些敏感的图像,并且查看者不能截取(仅)那些图像。当这样的项目显示时,我这样做:
fragment.getActivty().getWindow().addFlags(FLAG_SECURE).
然后在该片段的onDestroy
(或ViewPager
的滑动)中,我清除window
上的那个标记。
这适用于Android 6.0及更高版本:当该特定图片打开时,屏幕截图会被屏蔽。
但是,在Android 5.x及更低版本中,只有在主机Activity
上进行配置更改后才会进行标记更新。
有谁知道为什么会这样?什么是最好的解决方法?
我在StackOverflow上找到了一些参考资料,讨论了问题和解决方法,但是(a)没有解释为什么会出现这种差异,以及(b)建议的解决方法是非常非常高的摩擦:它闪烁了整个屏幕黑色。 参考文献: How to disable screen capture in Android fragment?