如何从屏幕截图中排除覆盖?

How to exclude overlay from screenshot?

基于 我认为至少存在针对系统应用程序的解决方案(或者可能也存在于 root 设备中?)。碰巧我不理解答案评论中链接的代码示例。有人可以一步一步解释实现这一点(如果可能的话,用代码示例)?提前致谢。

您不能从屏幕截图中排除覆盖。如果有覆盖层,您可以隐藏或使其透明。你不能处理第三方覆盖。

由于 android 处理屏幕截图的方式,无法排除叠加层。但是你可以,如你的 link 中所述,制作没有叠加层的屏幕截图。

这会导致您的屏幕截图中出现未渲染的漏洞,而只有黑色背景。

如果需要,您可以很容易地在拍摄屏幕截图的那一刻将叠加层设为黑色,或者甚至禁用可见性,以获得干净的屏幕截图。为了给您更详细的答案,我们需要一个更精确的问题,其中包含您如何编写代码的示例和想法。

编辑:

问题是,理论上您可以深入研究 android 源代码并更改屏幕截图行为。但是,您将自己创建一个新的 Android 版本。正如@Hassan Uddin 所说。 运行 在您的 phone 上,您需要深入挖掘 androids 源代码并且可能找不到任何答案。

这是不可能的,因为它就像一个安全功能。如果你愿意监视某人的屏幕,那你就太晚了,现在是 2021 年……OS 不允许你这样做……你必须 MOD 而 OS