- syntax:
- Wenn das Daten-Tag das unmittelbare untergeordnete Element eines
<intent-filter>ist:
<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" />
Wenn das Daten-Tag das unmittelbare untergeordnete Element eines<uri-relative-filter-group>ist:
<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" />
- enthalten in:
-
<intent-filter><uri-relative-filter-group> - description:
- Fügt einem Intent-Filter eine Datenspezifikation hinzu. Die Spezifikation ist ein Datentyp, der das
mimeType-Attribut, einen URI oder sowohl einen Datentyp als auch einen URI verwendet. Ein URI wird durch separate Attribute für jeden seiner Teile angegeben:<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>|<pathAdvancedPattern>|<pathSuffix>]Diese Attribute, die das URI-Format angeben, sind optional, aber auch voneinander abhängig:
- Wenn für den Intent-Filter kein
schemeangegeben ist, werden alle anderen URI-Attribute ignoriert. - Wenn für den Filter kein
hostangegeben ist, werden dasport-Attribut und alle Pfadattribute ignoriert.
Alle
<data>-Elemente, die sich im selben<intent-filter>-Element befinden, tragen zum selben Filter bei. So sieht beispielsweise die folgende Filterspezifikation aus:<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>
ist gleichbedeutend mit:
<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>
Sie können beliebig viele
<data>-Elemente in ein<intent-filter>-Element einfügen, um ihm mehrere Datenoptionen zu geben. Keines der Attribute hat Standardwerte.Informationen zur Funktionsweise von Intent-Filtern, einschließlich der Regeln für die Übereinstimmung von Intent-Objekten mit Filtern, finden Sie unter Intents und Intent-Filter und im Abschnitt Intent-Filter in der Übersicht über Manifestdateien.
- Wenn für den Intent-Filter kein
- attributes:
android:scheme- Der Schemateil eines URI. Dies ist das Mindestattribut, das für die Angabe eines URI erforderlich ist. Für den Filter muss mindestens ein
scheme-Attribut festgelegt sein, da sonst keines der anderen URI-Attribute sinnvoll ist.Ein Schema wird ohne das abschließende Doppelpunktzeichen angegeben, z. B.
httpanstelle vonhttp:.Wenn für den Filter ein Datentyp (mit dem Attribut
mimeType) festgelegt, aber kein Schema angegeben ist, werden die Schemascontent:undfile:vorausgesetzt.Hinweis: Im Android-Framework ist die Schemaabgleichung im Gegensatz zum RFC case-sensitive. Geben Sie daher immer Schemas in Kleinbuchstaben an.
android:host-
Der Hostteil einer URI-Autorität. Dieses Attribut hat nur dann einen Sinn, wenn für den Filter auch ein
scheme-Attribut angegeben ist. Wenn Sie mehrere Subdomains abgleichen möchten, verwenden Sie ein Sternchen (*), um null oder mehr Zeichen im Host abzugleichen. Beispiel: Der Host*.google.comstimmt mitwww.google.com,.google.comunddeveloper.google.comüberein.Der Stern muss das erste Zeichen des Hostattributs sein. Der Host
google.co.*ist beispielsweise ungültig, da der Sternchen-Platzhalter nicht das erste Zeichen ist.Hinweis: Im Android-Framework wird beim Abgleich von Hostnamen im Gegensatz zum formellen RFC die Groß- und Kleinschreibung berücksichtigt. Geben Sie daher immer Hostnamen in Kleinbuchstaben an.
android:port- Der Portteil einer URI-Berechtigung. Dieses Attribut ist nur dann sinnvoll, wenn auch die Attribute
schemeundhostfür den Filter angegeben sind. android:pathandroid:pathPrefixandroid:pathSuffixandroid:pathPatternandroid:pathAdvancedPattern- Der Pfadteil eines URI, der mit einem
/beginnen muss. Daspath-Attribut gibt einen vollständigen Pfad an, der mit dem vollständigen Pfad in einemIntent-Objekt abgeglichen wird. DaspathPrefix-Attribut gibt einen Teilpfad an, der nur mit dem Anfangsteil des Pfads imIntent-Objekt abgeglichen wird.Das
pathSuffix-Attribut wird genau mit dem Endteil des Pfads imIntent-Objekt abgeglichen. Dieses Attribut muss nicht mit dem Zeichen/beginnen.Das
pathPattern-Attribut gibt einen vollständigen Pfad an, der mit dem vollständigen Pfad imIntent-Objekt abgeglichen wird. Es kann jedoch die folgenden Platzhalter enthalten:- Ein Punkt (
.) entspricht jedem Zeichen. -
Ein Sternchen (
*) entspricht einer Folge von null bis vielen Vorkommen des unmittelbar vorausgehenden Zeichens. -
Ein Punkt gefolgt von einem Sternchen (
.*) entspricht einer beliebigen Zeichenfolge mit null bis vielen Zeichen.
Das
pathAdvancedPattern-Attribut gibt einen vollständigen Pfad an, der mit dem vollständigen Pfad desIntent-Objekts abgeglichen wird. Es unterstützt die folgenden regulären Ausdrucksmuster:-
Ein Punkt (
.) entspricht einem beliebigen Zeichen. -
Ein Satz (
[...]) entspricht einem Zeichenbereich. Beispiel:[0-5]stimmt beispielsweise mit einer einzelnen Ziffer zwischen 0 und 5 überein , aber nicht mit 6 bis 9.[a-zA-Z]stimmt mit einem beliebigen Buchstaben überein, unabhängig von der Groß- und Kleinschreibung. Für Sets wird auch der Modifikator „nicht“^unterstützt. -
Der Modifikator „Sternchen“ (
*) entspricht null oder mehrmals dem vorangehenden Muster. -
Der Modifizierer „Plus“ (
+) entspricht dem vorangehenden Muster einmal oder mehrmals. -
Mit dem Modifikator „Bereich“ (
{...}) wird angegeben, wie oft ein Muster übereinstimmen kann.
pathAdvancedPattern-Abgleich ist eine Bewertungsimplementierung, bei der der Abgleich in Echtzeit ohne Backtracking-Unterstützung mit dem Muster erfolgt.Da
\als Escape-Zeichen verwendet wird, wenn der String aus XML gelesen wird, bevor er als Muster geparst wird, müssen Sie das Zeichen doppelt maskieren. Beispiel: Das Literal*wird als\\*geschrieben und das Literal\als\\\. Das entspricht dem, was Sie schreiben, wenn Sie den String in Java-Code erstellen.Weitere Informationen zu diesen fünf Arten von Mustern finden Sie in den Beschreibungen von
PATTERN_LITERAL,PATTERN_PREFIX,PATTERN_SIMPLE_GLOB,PATTERN_SUFFIXundPATTERN_ADVANCED_GLOBin der KlassePatternMatcher.Diese Attribute sind nur dann sinnvoll, wenn auch die Attribute
schemeundhostfür den Filter angegeben sind.pathSuffixundpathAdvancedPatternwurden mit API-Level 31 eingeführt. - Ein Punkt (
android:fragmentandroid:fragmentPrefixandroid:fragmentSuffixandroid:fragmentPatternandroid:fragmentAdvancedPattern-
Ein Abgleich für ein URI-Fragment. Geben Sie nicht das Präfix
#an. Die Bedeutung und zulässigen Muster für die einzelnen Attribute finden Sie oben.Wenn Sie Zeichen abgleichen möchten, die normalerweise URI-codiert sind, geben Sie die Rohform (nicht codierte Form) in den Attributwert ein. Beispiel:
<data android:fragment="test!" />führt zu Übereinstimmungen mit#test!und#test%21.Einführung in API-Ebene 35.
android:queryandroid:queryPrefixandroid:querySuffixandroid:queryPatternandroid:queryAdvancedPattern-
Ein Abgleich für einen URI-Suchparameter (und optional einen Wert). So können Sie beispielsweise URIs, die auf
?param=valueenden, mit<data android:query="param=value" />abgleichen. Geben Sie nicht das Präfix?an. Die Bedeutung und zulässigen Muster für die einzelnen Attribute finden Sie oben.Wenn Sie Zeichen abgleichen möchten, die normalerweise URI-codiert sind, geben Sie die Rohform (nicht codierte Form) im Attributwert an. Beispiel:
<data android:query="test!" />führt zu Übereinstimmungen mit?test!und?test%21.Einführung in API-Ebene 35.
android:mimeType- Ein MIME-Medientyp wie
image/jpegoderaudio/mpeg4-generic. Der Untertyp kann der Sternchen-Platzhalter (*) sein, um anzugeben, dass mit jedem Untertyp übereinstimmt werden soll.Häufig wird in einem Intent-Filter ein
<data>-Element deklariert, das nur dasandroid:mimeType-Attribut enthält.Hinweis: Im Android-Framework ist die MIME-Typabgleichung im Gegensatz zu formellen RFC-MIME-Typen nicht groß- und kleinschreibungsempfindlich. Geben Sie MIME-Typen daher immer in Kleinbuchstaben an.
- eingeführt in:
- API-Level 1
- Weitere Informationen:
<action><category>
<Daten>
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[null,null,["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[]]