コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。
構文:
<data android:scheme="string"
      android:host="string"
      android:port="string"
      android:path="string"
      android:pathPattern="string"
      android:pathPrefix="string"
      android:mimeType="string" />
上位の要素:
<intent-filter>
説明:
インテント フィルタにデータ指定を追加します。データ指定は、データ型(mimeType 属性)のみ、URI のみ、またはデータ型と URI の両方です。URI は、部分ごとに別個の属性を使用して指定します。

<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>]

URL 形式を指定する各属性は省略可能ですが、相互に依存しています。

  • インテント フィルタに対して scheme が指定されていない場合、他のすべての URI 属性が無視されます。
  • フィルタに対して host が指定されていない場合、port 属性とすべてのパス属性が無視されます。

同一の <intent-filter> 要素内に含まれている <data> 要素はすべて、同一のフィルタを構成します。たとえば、次のようなフィルタ指定があるとします。

<intent-filter . . . >
    <data android:scheme="something" android:host="project.example.com" />
    . . .
</intent-filter>

これは、下記のフィルタ指定と同じ意味になります。

<intent-filter . . . >
    <data android:scheme="something" />
    <data android:host="project.example.com" />
    . . .
</intent-filter>

1 つの <intent-filter> 内に任意の数の <data> 要素を配置して、複数のデータ オプションを指定できます。いずれの属性も、デフォルト値は設定されていません。

インテント オブジェクトとフィルタのマッチング ルールなど、インテント フィルタの仕組みの詳細については、インテントとインテント フィルタをご覧ください。また、マニフェスト ファイル概要のインテント フィルタ セクションもご覧ください。

属性:
android:scheme
URI のスキーマ部分。これは、URI を指定するうえで最小限の必須属性です。フィルタに対して少なくとも 1 つの scheme 属性を設定する必要があります。この属性を設定していないと、他の URI 属性は意味を持ちません。

スキーマを指定する際は、末尾にコロンは付けません(たとえば、http: ではなく http)。

フィルタに対してデータ型セット(mimeType 属性)が指定されていて、スキーマが指定されていない場合、content: スキーマと file: スキーマが想定されます。

: Android フレームワーク内のスキーマ マッチングの場合、RFC とは異なり、大文字と小文字が区別されます。そのため、スキーマを指定する際は、常に小文字を使用してください。

android:host
URI 認証局のホスト部分。フィルタに対して scheme 属性も指定されていないと、この属性は意味を持ちません。複数のサブドメインにマッチさせるには、アスタリスク(*)を使用して、ホスト内の 0 個以上の文字にマッチさせます。たとえばホスト *.google.com は、www.google.com.google.comdeveloper.google.com にマッチします。

アスタリスクはホスト属性の最初の文字にする必要があります。たとえばホスト google.co.* は、アスタリスク ワイルドカードが最初の文字になっていないため、無効です。

: Android フレームワーク内のホスト名マッチングの場合、正式な RFC とは異なり、大文字と小文字が区別されます。そのため、ホスト名を指定する際は、常に小文字を使用してください。

android:port
URI 認証局のポート部分。この属性は、フィルタに対して scheme 属性と host 属性も指定している場合に限り、意味を持ちます。
android:path
android:pathPrefix
android:pathPattern
URI のパス部分。「/」で始まる必要があります。path 属性は、インテント オブジェクトの完全パスに対してマッチングされる完全パスを指定します。pathPrefix 属性は、インテント オブジェクトのパスの最初の部分のみに対してマッチングされる部分パスを指定します。pathPattern 属性は、インテント オブジェクトの完全パスに対してマッチングされる完全パスを指定しますが、次のワイルドカードを含めることができます。
  • アスタリスク(「*」)。直前の文字が 0 個以上続くシーケンスに一致します。
  • ピリオドの後ろにアスタリスク(「.*」)。0 個以上の文字のシーケンスに一致します。

文字列を XML から読み取る際、パターンとして解析する前に、「\」はエスケープ文字として使用されるため、ダブル エスケープする必要があります。たとえば、リテラル「*」は表記上は「\\*」と記述し、リテラル「\」は表記上は「\\\\」と記述します。これは、Java コードで文字列を作成する際に必要となる記述方法と基本的に同じです。

この 3 種類のパターンの詳細については、PatternMatcher クラスの PATTERN_LITERALPATTERN_PREFIXPATTERN_SIMPLE_GLOB をご覧ください。

こうした属性は、フィルタに対して scheme 属性と host 属性も指定している場合に限り、意味を持ちます。

android:mimeType
MIME メディアタイプ(image/jpegaudio/mpeg4-generic など)。サブタイプにアスタリスク ワイルドカード(*)を使用して、任意のサブタイプがマッチすることを示せます。

一般的に、インテント フィルタでは、android:mimeType 属性だけを含む <data> を宣言します。

: Android フレームワーク内の MIME タイプ マッチングの場合、正式な RFC MIME タイプとは異なり、大文字と小文字が区別されます。そのため、MIME タイプを指定する際は、常に小文字を使用してください。

導入時の API レベル:
API レベル 1
関連項目:
<action>
<category>