DocumentsUI

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 権限を持つようにします。