【问题标题】:Disable screenshots in android ics禁用android ics中的屏幕截图
【发布时间】:2012-02-13 08:01:50
【问题描述】:

对于我们的一款安全应用,需要在 Android ICS 中禁用该应用的屏幕截图功能。这可以在非 root 设备上实现吗?
谢谢,
拉贾特

【问题讨论】:

  • 这是在您控制设备的企业环境中,还是只是普通的市场应用程序?如果您控制设备,则可能会阻止屏幕截图,但只需拍照即可。对于普通应用程序,您甚至不应该尝试。

标签: android security screenshot android-4.0-ice-cream-sandwich


【解决方案1】:

为什么不在活动类中添加这一行。这样就可以了。

// This disables screen shot to be taken for current activity
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);

您可能想have a look at Mark Murphy's blog post

【讨论】:

  • 请注意,这可能不适用于所有 ICS 之前的设备,因为它们的屏幕截图实现可能不是标准的,因此不承认 FLAG_SECURE
【解决方案2】:

这永远不可能,故事结束。设备所有者也可以通过使用调试器读取内存来获取应用程序使用的任何加密密钥。这可用于解密应用使用的任何“敏感”图像。

【讨论】:

  • 在最坏的情况下可以拍一张照片。
  • @Rook 和 CodeInChaos,感谢您的投入。我认为这些要求并没有强制要求如此强大的安全策略。我遇到了FLAG_SECURE 这可能会成功
  • @CodesInChaos 通常禁用屏幕捕获的目的是防止后台应用程序(可能是恶意软件)获取敏感信息。
  • @Paul Lammertsma 更有理由让它不起作用。恶意软件将越狱设备。
  • @Rook 如果您能提供更多信息并且我真的有兴趣阅读,这将是对阅读此主题的其他人的有用补充!话虽如此,我认为反对使用FLAG_SECURE 的一个好理由是用户可能会获得root 权限。此外,在发布版本上禁用调试,即使在设备上部署了调试版本,也必须首先通过用户交互手动启用 ADB。讨论 root 的含义或如何获得它本身可能就是一个讨论。
猜你喜欢
  • 2021-07-20
  • 2022-10-08
  • 2015-12-10
  • 2021-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多