<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 属性では完全なパスを指定しますが、次のワイルドカードを含めることができます。

  • アスタリスク(*)は、直前の文字が 0 個以上出現するシーケンスと一致します。
  • ピリオドとそれに続くアスタリスク(.*)は、0 個以上の文字のシーケンスに一致します。

\ は、文字列を XML から読み取る際にエスケープ文字として使用されるため、パターンとして解析される前にダブル エスケープする必要があります。たとえば、リテラル *\\* と記述し、リテラル \\\\ と記述します。

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

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