Android Dev Summit, October 23-24: two days of technical content, directly from the Android team. Sign-up for livestream updates.

Android Q 隐私权:权限变更

本文档介绍了权限模型的一些变更。这些变更有助于增强用户隐私。

以下变更会影响在 Android Q 上运行的所有应用,即使这些应用以 Android 9(API 级别 28)或更低版本为目标平台也是如此。

限制对屏幕内容的访问

为了保护用户的屏幕内容,Android Q 更改了 READ_FRAME_BUFFERCAPTURE_VIDEO_OUTPUTCAPTURE_SECURE_VIDEO_OUTPUT 权限的作用域,使其只能通过签名访问,从而禁止以静默方式访问设备的屏幕内容。

需要访问设备屏幕内容的应用应使用 MediaProjection API,此 API 会显示提示,要求用户同意声明。

面向用户的权限检查(针对旧版应用)

如果您的应用以 Android 5.1(API 级别 22)或更低版本为目标平台,则当用户首次在 Android Q 上运行该应用时,他们会看到一个权限屏幕,如图 1 所示。此屏幕可以让用户撤消系统先前在安装时授予您应用的访问权限。

对话框的屏幕截图
图 1. 面向用户的对话框,允许查看旧版权限

身体活动识别

Android Q 针对需要检测用户步数或对用户的身体活动(例如步行、骑车或坐车)进行分类的应用引入了一个新的 ACTIVITY_RECOGNITION 运行时权限。此项权限旨在让用户了解设备传感器数据在“设置”中的使用方式。

如果您的应用依赖于设备上其他内置传感器的数据,例如加速度计和陀螺仪,则无需在应用中声明此新权限。

如果您的应用以 Android 9(API 级别 28)或更低版本为目标平台,并在其清单文件中指定 com.google.android.gms.permission.ACTIVITY_RECOGNITION 权限,则系统会根据需要自动向您的应用授予此权限。当您将应用更新为以 Android Q 为目标平台时,平台会保留此权限;不过,由于一个已知的平台问题,此权限会在更新时重置。此外,用户可以随时在系统设置中撤消此权限。

从界面中移除了权限组

从 Android Q 开始,应用无法在界面中查询权限的分组方式。