DocumentUI モジュールは、ファイルをメールに添付する場合など、ドキュメントへの権限を扱うコンポーネントに対する、特定のファイルへのアクセスを制御します。このモジュールは更新可能です。つまり、通常の Android リリース サイクル外で機能のアップデートを受信できます。
ストレージへのアクセスと権限をモジュール形式にすることで、エンドユーザーのプライバシーとセキュリティが強化されます。また、Android パートナーはランタイム リソース オーバーレイ(RRO)を通じてアプリの機能とテーマをカスタマイズできるようになります。モジュール形式を使用すると、すべてのデバイスに同じ DocumentsUI エクスペリエンスが提供されるようになり、デベロッパーは関連 API の表示内容を把握できます。
DocumentsUI モジュールが処理するアクションは次のとおりです。
@hide
API を使用せず、安定版の@SystemApi
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
権限に依存しますが、権限クラスを追加することで、デバイス上の 1 つのアプリのみが MANAGE_DOCUMENTS
権限を持つようにします。