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
权限。