在 android 上,开发者可以通过设置 flag_secure 来防止应用被截屏。这还具有防止应用程序预览显示在多任务菜单中的预期副作用,因为这些预览实际上是应用程序在其上次使用状态下的。银行应用程序和受 drm 保护的应用程序(如 netflix)通常会使用此受保护标志,但这是阻止显示该预览的唯一方法。现在看来,android 13将只允许开发人员禁用这些图像预览,同时仍允许用户截取屏幕截图。
android 13 引入了 setrecentsscreenshotenabled api。开发人员可能希望使用此功能有几个原因。我能想象到的最重要的一点是,在处理敏感数据时,它信任用户来决定截屏是否安全。目前,flag_secure通常用于保护显示文案内容的应用程序不被捕获其内容,并且它具有不允许在多任务菜单中显示应用程序预览的副作用。
假设您需要将银行转帐的屏幕截图发送给某人。您的银行应用程序的开发人员可以选择设置 flag_secure,或使用新的 setrecentsscreenshotenabled api 来禁用在多任务预览中显示的应用程序屏幕截图。如果您想发送该传输的屏幕截图,则在启用 flag_secure 时无法执行此操作。但是,用户可能不希望他们的银行的敏感详细信息显示在多任务菜单中——敏感的详细信息,例如他们的银行余额或最近的转账。这个 api 的引入正好解决了这个问题。
这当然是解决小众问题的方法,但我敢肯定还有其他类似的情况。使用 flag_secure 在最近菜单中隐藏应用程序预览的开发人员绝对是一种解决方法,它并不是真正用于该用途的,很高兴看到 google 为开发人员提供了如何隐藏这些应用程序预览的选择。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/yun153193.html