禁用片段中的屏幕捕获

时间:2017-12-26 16:39:35

标签: android fragment screenshot

作为每个Android文档,我们可以在诸如

之类的活动中禁用屏幕/视频捕获
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
                WindowManager.LayoutParams.FLAG_SECURE);

但是我如何在片段中实现相同的目标。 例如,假设我有一个包含五个片段的活动,但我想仅在五个片段中的一个片段中禁用屏幕/视频捕获,而不是在其他片段中禁用。

这样做

getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
片段内的

会禁用所有片段中的屏幕/视频捕获。

我是否应该根据片段编写用于启用/禁用活动中屏幕捕获的逻辑。

2 个答案:

答案 0 :(得分:2)

FLAG_SECURE是一个窗口级功能;您不能仅将其应用于窗口的一部分(例如,活动中的一个片段)。

如果通过"一个有五个片段的活动",你的意思是"一个活动在屏幕上同时有五个片段",那么AFAIK你无法达到你想要的效果

如果通过"一个包含五个片段"的活动,你的意思是"一个有五个片段的活动,其中一次只能看到一个片段,例如{{1然后,当活动进入并离开屏幕时,您需要切换ViewPager

答案 1 :(得分:0)

如果可能,请在单个活动中使用您的片段并设置标志。由于片段只是引用和更改活动中视图的一种方式,因此android没有安全模型。