- 構文:
<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.com
、developer.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_LITERAL
、PATTERN_PREFIX
、PATTERN_SIMPLE_GLOB
をご覧ください。 - アスタリスク(「
android:mimeType
- MIME メディアタイプ(
image/jpeg
やaudio/mpeg4-generic
など)。サブタイプにアスタリスク ワイルドカード(*
)を使用して、任意のサブタイプがマッチすることを示せます。一般的に、インテント フィルタでは、
android:mimeType
属性だけを含む<data>
を宣言します。注: Android フレームワーク内の MIME タイプ マッチングの場合、正式な RFC MIME タイプとは異なり、大文字と小文字が区別されます。そのため、MIME タイプを指定する際は、常に小文字を使用してください。
- 導入時の API レベル:
- API レベル 1
- 関連項目:
<action>
<category>
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2022-02-22 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"必要な情報がない"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"複雑すぎる / 手順が多すぎる"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"最新ではない"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻訳に関する問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"サンプル / コードに問題がある"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"その他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"わかりやすい"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"問題の解決に役立った"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"その他"
}]