- 構文:
- データタグが <intent-filter>の直属の子の場合:
 <data android:scheme="string" android:host="string" android:port="string" android:path="string" android:pathPattern="string" android:pathPrefix="string" android:pathSuffix="string" android:pathAdvancedPattern="string" android:mimeType="string" /> 
 データタグが<uri-relative-filter-group>の直属の子の場合:
 <data android:path="string" android:pathPattern="string" android:pathPrefix="string" android:pathSuffix="string" android:pathAdvancedPattern="string" android:fragment="string" android:fragmentPattern="string" android:fragmentPrefix="string" android:fragmentSuffix="string" android:fragmentAdvancedPattern="string" android:query="string" android:queryPattern="string" android:queryPrefix="string" android:querySuffix="string" android:queryAdvancedPattern="string" /> 
- 上位の要素:
- 
  <intent-filter><uri-relative-filter-group>
- 説明:
- インテント フィルタにデータ指定を追加します。指定する内容は、データ型(mimeType属性を使用)、URI、またはデータ型と URI の両方です。URI は、部分ごとに別個の属性を使用して指定します。<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>|<pathAdvancedPattern>|<pathSuffix>]URI 形式を指定する各属性は省略可能ですが、相互に依存しています。 - インテント フィルタに対して schemeが指定されていない場合、他のすべての URI 属性が無視されます。
- フィルタに対して hostが指定されていない場合、port属性とすべてのパス属性が無視されます。
 同一の <intent-filter>要素内に含まれている<data>要素はすべて、同一のフィルタを構成します。たとえば、次のようなフィルタ指定があるとします。<intent-filter . . . > <data android:scheme="something" android:host="project1.example.com" /> <data android:scheme="something-else" android:host="project2.example.com" android:path="/page1" /> ... </intent-filter> これは、下記のフィルタ指定と同じ意味になります。 <intent-filter . . . > <data android:scheme="something" /> <data android:scheme="something-else" /> <data android:host="project1.example.com" /> <data android:host="project2.example.com" /> <data android:path="/page1" /> ... </intent-filter> 1 つの <intent-filter>内に任意の数の<data>要素を配置して、複数のデータ オプションを指定できます。いずれの属性も、デフォルト値は設定されていません。インテント オブジェクトとフィルタのマッチング ルールなど、インテント フィルタの仕組みの詳細については、インテントとインテント フィルタ、およびマニフェスト ファイルの概要のインテント フィルタ セクションをご覧ください。 
- インテント フィルタに対して 
- 属性:
- android:scheme
- URI のスキーマ部分。これは、URI を指定するうえで最小限の必須属性です。フィルタに対して少なくとも 1 つの scheme属性を設定する必要があります。この属性を設定していないと、他の URI 属性は意味を持ちません。スキーマを指定する際は、末尾にコロンは付けません(たとえば、 http:ではなくhttp)。フィルタに対してデータ型セット( mimeType属性を使用)が指定されていてスキーマが指定されていない場合、content:とfile:の schema 属性が指定されていると想定されます。注: Android フレームワーク内のスキーマ マッチングの場合、RFC とは異なり、大文字と小文字が区別されます。そのため、スキーマを指定する際は、常に小文字を使用してください。 
- android:host
- URI 認証局のホスト部分。フィルタに対して scheme属性も指定されていないと、この属性は意味を持ちません。複数のサブドメインにマッチさせるには、アスタリスク(*)を使用して、ホスト内の 0 個以上の文字にマッチさせます。たとえばホスト*.google.comは、www.google.com、.google.com、developer.google.comにマッチします。アスタリスクは host 属性の最初の文字にしか使えません。たとえばホスト google.co.*は、アスタリスク ワイルドカードが最初の文字ではないため無効です。注: Android フレームワーク内のホスト名マッチングの場合、正式な RFC とは異なり、大文字と小文字が区別されます。そのため、ホスト名を指定する際は、常に小文字を使用してください。 
- android:port
- URI 認証局のポート部分。この属性は、フィルタに対して scheme属性とhost属性も指定している場合に限り、意味を持ちます。
- android:path- android:pathPrefix- android:pathSuffix- android:pathPattern- android:pathAdvancedPattern
- URI のパス部分。「/」で始まる必要があります。path属性は、Intentオブジェクトの完全パスに対してマッチングされる完全パスを指定します。pathPrefix属性は、Intentオブジェクトのパスの最初の部分のみに対してマッチングされる部分パスを指定します。pathSuffix属性は、Intentオブジェクトのパスの末尾部分に対して完全にマッチングされます。この属性は「/」文字で始める必要はありません。pathPattern属性は、Intentオブジェクトの完全パスに対してマッチングされる完全パスを指定しますが、次のワイルドカードを含めることができます。- ピリオド(「.」)は任意の 1 文字に一致します。
- 
      アスタリスク(*)は、直前の文字が 0 個以上出現するシーケンスと一致します。
- 
      ピリオドとそれに続くアスタリスク(.*)は、0 個以上の文字のシーケンスに一致します。
 pathAdvancedPattern属性は、Intentオブジェクトの完全パスと照合される完全パスを指定し、次の正規表現に似たパターンをサポートします。- 
    ピリオド(.)は任意の 1 文字に一致します。
- 
    集合([...])は文字の範囲に一致します。たとえば、[0-5]は 0~5 の 1 つの数字に一致しますが、6~9 には一致しません。[a-zA-Z]は、任意の 1 つの英字に一致します。大文字と小文字は区別されません。集合は否定修飾子(^)もサポートします。
- 
    アスタリスク修飾子(*)は、直前のパターンの 0 回以上の繰り返しと一致します。
- 
    プラス修飾子(+)は、直前のパターンの 1 回以上の繰り返しと一致します。
- 
    範囲修飾子(「{...}」)を使用すると、パターンが一致する回数を指定できます。
 pathAdvancedPatternマッチャーは、リアルタイムでパターンを照合する評価実装です(後戻りはサポートしません)。\は、文字列を XML から読み取る際にエスケープ文字として使用されるため、パターンとして解析される前にダブル エスケープする必要があります。たとえば、リテラル*は\\*と記述し、リテラル\は\\\と記述します。これは、Java コードで文字列を作成する場合に必要な記述方法と基本的に同じです。この 5 種類のパターンの詳細については、 PatternMatcherクラスのPATTERN_LITERAL、PATTERN_PREFIX、PATTERN_SIMPLE_GLOB、PATTERN_SUFFIX、PATTERN_ADVANCED_GLOBの説明をご覧ください。これらの属性は、フィルタに対して scheme属性とhost属性も指定している場合に限り、意味を持ちます。pathSuffixとpathAdvancedPatternは API レベル 31 で導入されました。
- ピリオド(「
- android:fragment- android:fragmentPrefix- android:fragmentSuffix- android:fragmentPattern- android:fragmentAdvancedPattern
- 
  URI フラグメントのマッチング条件。 #接頭辞は含めないでください。各属性の意味と許可されるパターンについては、上記をご覧ください。通常は URI エンコードされる文字と一致させるには、属性値に未加工(エンコードされていない)形式を含めます。たとえば、 <data android:fragment="test!" />は#test!と#test%21と一致します。API レベル 35 で導入されました。 
- android:query- android:queryPrefix- android:querySuffix- android:queryPattern- android:queryAdvancedPattern
- 
  URI クエリ パラメータ(および必要に応じて値)のマッチング条件。たとえば、 ?param=valueで終わる URI を<data android:query="param=value" />と照合できます。?接頭辞は含めないでください。各属性の意味と許可されるパターンについては、上記をご覧ください。通常は URI でエンコードされる文字と一致させるには、属性値に未加工(エンコードされていない)形式を含めます。たとえば、 <data android:query="test!" />は?test!と?test%21と一致します。API レベル 35 で導入されました。 
- android:mimeType
- MIME メディアタイプ(image/jpegやaudio/mpeg4-genericなど)。サブタイプにアスタリスク ワイルドカード(*)を使用して、任意のサブタイプがマッチすることを示せます。インテント フィルタの <data>要素の宣言にandroid:mimeType属性が含まれている場合、他に何も指定されていないのが一般的です。注: Android フレームワーク内の MIME タイプ マッチングの場合、正式な RFC MIME タイプとは異なり、大文字と小文字が区別されます。そのため、MIME タイプを指定する際は、常に小文字を使用してください。 
 
- 導入時の API レベル:
- API レベル 1
- 関連項目:
- <action>- <category>
      
  
  
  このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-07-27 UTC。
  
  
    
      [null,null,["最終更新日 2025-07-27 UTC。"],[],[]]
    
  
            
          