- 構文:
<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_LITERAL
、PATTERN_PREFIX
、PATTERN_SIMPLE_GLOB
の説明をご覧ください。 - アスタリスク(「
- 導入時の API レベル:
- API レベル 1
- 関連項目:
<provider>
要素のgrantUriPermissions
属性
Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2019-12-27 UTC.