<path-permission>

書式:
<path-permission android:path="string"
                 android:pathPrefix="string"
                 android:pathPattern="string"
                 android:permission="string"
                 android:readPermission="string"
                 android:writePermission="string" />
親要素:
<provider>
説明:
コンテンツプロバイダにおける特定のデータサブセットについてパスとパーミッションを定義します。複数のパスを指定したい場合は、本要素を複数記述して下さい。
属性:
android:path
コンテンツプロバイダデータのサブセットを指定する完全なURIパスです。このパスに対してのみ許可が与えられます。検索候補を提供するプロバイダである場合は、"/search_suggest_query"が追加されます。
android:pathPrefix
コンテンツプロバイダーデータのサブセットのURIパスの先頭部分を指定します。この文字列で始まる全てのデータサブセットに対する許可が与えられます。
android:pathPattern
コンテンツプロバイダデータのサブセットを示す完全なURIパスを指定しますが、以下のワイルドカード指定が可能です。
  • アスタリスク('*')を指定すると、*の直前に指定された文字が0個以上続く場合にマッチします(訳注: 一般的な正規表現でのA* -> AAAAマッチといった形)
  • アスタリスクの前にピリオドを置く(".*")と、0文字以上の全ての文字列にマッチします。

'\'はパターン処理前にXMLから文字列が読み込まれる段階でのエスケープ文字であるため、二重のエスケープが必要となります。 例えば、'*'は"\\*"と書く必要があり、'\'は"\\"と書く必要があります。この書き方は基本的にJavaにおける文字列の書き方と同じです。

詳細についてはPatternMatcherクラス内のPATTERN_LITERALPATTERN_PREFIXPATTERN_SIMPLE_GLOBを参照して下さい。

android:permission
クライアントがコンテンツプロバイダーのデータを読み書きする上で取得しておく必要のあるパーミッション名です。この属性は読み書き両用のパーミッションを設定する上で便利なものですが、readPermissionwritePermissionの指定が優先されます。
android:readPermission
クライアントがコンテンツプロバイダにデータを要求する際に取得しておく必要のあるパーミッションです。
android:writePermission
クライアントがコンテンツプロバイダーにより管理されているデータを変更するために取得しておく必要のあるパーミッションです。
導入されたAPIレベル:
API Level 4
関連:
SearchManager
Manifest.permission
Security and Permissions