- 構文:
<intent-filter android:icon="drawable resource" android:label="string resource" android:priority="integer" > . . . </intent-filter>
- 上位の要素:
<activity>
<activity-alias>
<service>
<receiver>
- 必須の下位の要素:
<action>
- 格納可能な下位の要素:
<category>
<data>
- 説明:
- アクティビティや、サービス、ブロードキャスト レシーバが応答できるインテントのタイプを指定します。インテント フィルタは、その親コンポーネントの機能(アクティビティやサービスが実行できる内容、あるいはレシーバが処理できるブロードキャストのタイプ)を宣言します。アドバタイズしたタイプのインテントを受け取るコンポーネントを開き、そのコンポーネントにとって意味を持たないインテントを除外します。
ほとんどの場合、フィルタのコンテンツは、その
<action>
サブ要素、<category>
サブ要素、<data>
サブ要素によって記述します。フィルタの詳細については、インテントとインテント フィルタや、概要の「インテント フィルタ」セクションをご覧ください。
- 属性:
android:icon
- 親となるアクティビティ、サービス、ブロードキャスト レシーバを示すアイコン。フィルタによって指定されている機能を持つコンポーネントがユーザーに提示される際に表示されます。
この属性は、画像の定義を含むドローアブル リソースへの参照として設定する必要があります。デフォルト値は、親コンポーネントの
icon
属性で設定されているアイコンです。親がアイコンを指定していない場合は、<application>
要素で設定したアイコンがデフォルト値になります。インテント フィルタ アイコンの詳細については、概要の「アイコンとラベル」をご覧ください。
android:label
- 親コンポーネントのユーザー可読形式ラベル。このラベルは、フィルタによって指定されている機能を持つコンポーネントがユーザーに提示される際に使用されます(この場合、親コンポーネントによって設定されているラベルは使用されません)。
ラベルは、文字列リソースへの参照として設定する必要があります。そうすることで、ユーザー インターフェース内の他の文字列と同じようにローカライズできるようになります。ただし便宜上、アプリの開発中は、未加工の文字列として設定することも可能です。
デフォルト値は、親コンポーネントによって設定されているラベルです。親がラベルを指定していない場合、
<application>
要素のlabel
属性で設定したラベルがデフォルト値になります。インテント フィルタ ラベルの詳細については、概要の「アイコンとラベル」をご覧ください。
android:priority
- フィルタによって指定されているタイプのインテントを処理するうえで、親コンポーネントに付与される優先度。この属性は、アクティビティとブロードキャスト レシーバの両方にとって意味を持ちます。
- フィルタに合致するインテントに対するアクティビティの応答能力に関する情報を、インテントに応答可能な他のアクティビティと比較して提供します。優先度の異なる複数のアクティビティがインテントを処理できる場合、高い優先度値を持つアクティビティだけが、インテントの潜在的ターゲットと見なされます。
ブロードキャスト メッセージを受信する際、ブロードキャスト レシーバの実行順序を制御します。優先度値が高いものは、値が低いものよりも前に呼び出されます(この順序が適用されるのは、同期メッセージの場合に限られます。非同期メッセージの場合は無視されます)。
この属性を使用するのは、ブロードキャストの受信順序を指定する必要がある場合や、あるアクティビティを他のアクティビティよりも常に自動的に優先させる場合に限られます。
この値は必ず整数で指定します(「
100
」など)。値が大きいほど優先度は高くなります。デフォルト値は 0 です。場合によっては、リクエストした優先度が無視され、値が
0
に制限されることがあります。この状況は、以下の場合に発生します。- 非特権アプリが 0 より大きな優先度をリクエストしている場合
- 特権アプリが、
ACTION_VIEW
やACTION_SEND
、ACTION_SENDTO
、ACTION_SEND_MULTIPLE
に対して 0 より大きな優先度をリクエストした場合
setPriority()
もご覧ください。 android:order
- 複数のフィルタが適合したときのフィルタの処理順序。
order
は、priority
とは異なります。priority
はアプリを横断して適用されますが、 は 1 つのアプリ内にある複数の適合フィルタを明確にします。複数のフィルタが適合する場合は、代わりに有向インテントを使用します。
この値は必ず整数で指定します(「
100
」など)。値が大きいほど先にマッチングされます。デフォルト値は0
です。この属性は API レベル 28 で導入されました。
- 導入時の API レベル:
- API レベル 1
- 関連項目:
<action>
<category>
<data>
Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2019-12-27 UTC.