DocumentsUI 模块控制对处理文档权限的组件(例如将文件附加到电子邮件)的特定文件的访问。此模块是可更新的,这意味着它可以接收 Android 正常发布周期之外的功能更新。
将存储访问和权限模块化,既提高了最终用户的隐私和安全性,又允许 Android 合作伙伴通过运行时资源叠加层 (RRO) 自定义应用的功能和主题。模块格式确保所有设备都搭载相同的 DocumentsUI 体验,使开发者能够了解用户在使用相关 API 时看到的内容。
DocumentsUI 模块处理以下操作。
仅通过稳定的
@SystemApi
API(不使用@hide
API)与框架交互。公开一种机制,使 Android 合作伙伴能够自定义功能和主题。
使用签名权限保护
MANAGE_DOCUMENTS
权限。
显示“文件”启动器图标
在 Android 10 中,DocumentsUI 模块使用 is_launcher_enabled
来确定是否应在应用抽屉式导航栏中显示“文件”启动器图标。在 Android 11 或更高版本中,该模块使用 component-override
软件包来确定是否在应用抽屉式导航栏中显示“文件”启动器图标。
默认情况下,该图标处于启用状态。要禁用它,请将以下 XML 添加到 /etc/sysconfig
。
<?xml version="1.0" encoding="utf-8"?>
<config>
<component-override package="com.android.documentsui" >
<component class="com.android.documentsui.LauncherActivity" enabled="false" />
</component-override>
</config>
请求用户数据
DocumentsUI 模块实现了 GET_CONTENT
操作,使应用能够请求访问用户的其他数据。
模块格式
DocumentsUI 模块 (com.android.documentsui
) 以 APK 文件形式交付,适用于运行 Android 10 或更高版本的设备。
模块依赖项
此 DocumentsUI 模块依赖于受签名权限保护的 MANAGE_DOCUMENTS
权限;额外的权限类确保设备上只有一个应用具有 MANAGE_DOCUMENTS
权限。