Android版本之间的窗口setFlags()行为差异?

时间:2017-05-10 00:04:09

标签: android android-fragments

我有一个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?

0 个答案:

没有答案