Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

<grant-uri-permission>

構文:
<grant-uri-permission android:path="string"
                          android:pathPattern="string"
                          android:pathPrefix="string" />
上位の要素:
<provider>
説明:
親コンテンツ プロバイダがアクセス権を持っているアプリデータのサブセットを指定します。データのサブセットは content: URI のパス部分で指定します(URI の権限部分ではコンテンツ プロバイダを指定します)。権限を付与すると、通常はデータへのアクセス権を持たないプロバイダのクライアントが 1 回に限りデータにアクセスできるようになります。

コンテンツ プロバイダの grantUriPermissions 属性が "true" の場合、プロバイダの管理下であらゆるデータに対する権限を付与できます。ただし、この属性が "false" の場合は、この要素で指定されたデータ サブセットに対してのみ権限を付与できます。プロバイダには任意の数の <grant-uri-permission> 要素を含めることができます。各要素では 1 つのパスのみを指定できます(3 つの属性のうちの 1 つのみ)。

権限を付与する方法については、<intent-filter> 要素の grantUriPermissions 属性をご覧ください。

属性:
android:path
android:pathPrefix
android:pathPattern
権限を付与可能なデータ サブセットを示すパス。path 属性では完全なパスを指定します。権限は、このパスで示された特定のデータ サブセットにのみ付与できます。pathPrefix 属性ではパスの最初の部分を指定します。権限は、この最初の部分を共有するパスで示されたすべてのデータ サブセットに付与できます。pathPattern 属性では完全なパスを指定します(以下のワイルドカードを含めることができます)。
  • アスタリスク(「*」)は、直前の文字がゼロ個以上連続して出現した場合に一致します。
  • ピリオドとそれに続くアスタリスクの組み合わせ(「.*」)は、ゼロ文字以上の任意の文字列と一致します。

文字列を(パターンとして解析する前に)XML から読み取る場合、「\」はエスケープ文字として使用されるため、ダブル エスケープが必要になります。たとえば、「*」は「\\*」、「」は「\\\\」のように記述します。これは基本的に、Java コードで文字列を作成する場合に記述する必要がある内容と同じです。

これらの各種パターンについて詳しくは、PatternMatcher クラスの PATTERN_LITERALPATTERN_PREFIXPATTERN_SIMPLE_GLOB の説明をご覧ください。

導入時の API レベル:
API レベル 1
関連項目:
<provider> 要素の grantUriPermissions 属性