- Syntax:
- Wenn das Datentag das unmittelbare untergeordnete Element von
<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, ein URI oder sowohl ein Datentyp als auch ein URI, die mit dem Attribut
mimeTypeangegeben werden. Ein URI wird durch separate Attribute für die einzelnen 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 das Attributportund alle Pfadattribute ignoriert.
Alle
<data>-Elemente, die im selben<intent-filter>-Element enthalten sind, tragen zum selben Filter bei. Die folgende Filterspezifikation:<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>
entspricht:
<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 mehrere Datenoptionen zu erhalten. Keines seiner Attribute hat Standardwerte.Informationen zur Funktionsweise von Intent-Filtern, einschließlich der Regeln für den Abgleich von Intent-Objekten mit Filtern, finden Sie unter Intents und Intent-Filter und im Abschnitt Intent-Filter> in der Übersicht über die Manifestdatei.
- Wenn für den Intent-Filter kein
- Attribute:
android:scheme- Der Schemateil eines URI. Dies ist das minimale erforderliche Attribut zum Angeben eines URI. 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 nachgestellte Doppelpunkt angegeben, z. B.
httpanstelle vonhttp:.Wenn für den Filter ein Datentyp (mit dem Attribut
mimeType) festgelegt ist, aber kein Schema, werden die Schemascontent:undfile:angenommen.Hinweis: Der Schemabgleich im Android-Framework ist im Gegensatz zum RFC-Standard nicht case-sensitiv. Geben Sie Schemas daher immer in Kleinbuchstaben an.
android:host-
Der Host-Teil einer URI-Autorität. Dieses Attribut ist nur sinnvoll, wenn auch ein
scheme-Attribut für den Filter angegeben ist. Wenn Sie mehrere Subdomains abgleichen möchten, verwenden Sie ein Sternchen (*), um null oder mehr Zeichen im Host abzugleichen. Der Host*.google.comstimmt beispielsweise mitwww.google.com,.google.comunddeveloper.google.comüberein.Das Sternchen muss das erste Zeichen des Host-Attributs sein. Der Host
google.co.*ist beispielsweise ungültig, da der Platzhalter „*“ nicht das erste Zeichen ist.Hinweis: Der Hostname-Abgleich im Android-Framework ist im Gegensatz zum formalen RFC-Standard case-sensitive. Geben Sie Hostnamen daher immer mit Kleinbuchstaben an.
android:port- Der Portteil einer URI-Autorität. Dieses Attribut ist nur 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. Das Attributpathgibt einen vollständigen Pfad an, der mit dem vollständigen Pfad in einemIntent-Objekt abgeglichen wird. Das AttributpathPrefixgibt einen Teilpfad an, der nur mit dem ersten Teil des Pfads imIntent-Objekt abgeglichen wird.Das Attribut
pathSuffixwird genau mit dem Endteil des Pfads imIntent-Objekt abgeglichen. Dieses Attribut muss nicht mit dem Zeichen/beginnen.Das Attribut
pathPatterngibt 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 einem beliebigen Zeichen. -
Ein Sternchen (
*) entspricht einer Sequenz von null bis vielen Vorkommen des unmittelbar vorangehenden Zeichens. -
Ein Punkt gefolgt von einem Sternchen (
.*) entspricht einer beliebigen Folge von null bis vielen Zeichen.
Das Attribut
pathAdvancedPatterngibt einen vollständigen Pfad an, der mit dem vollständigen Pfad desIntent-Objekts abgeglichen wird. Es unterstützt die folgenden regex-ähnlichen Muster:-
Ein Punkt (
.) entspricht einem beliebigen Zeichen. -
Ein Set (
[...]) entspricht Zeichenbereichen. Beispiel:[0-5]entspricht einer einzelnen Ziffer von 0 bis 5 , aber nicht 6 bis 9.[a-zA-Z]entspricht einem beliebigen Buchstaben, unabhängig von der Groß-/Kleinschreibung. Sets unterstützen auch den Modifikator „not“^. -
Der Modifikator „Sternchen“ (
*) entspricht dem vorangehenden Muster keinmal oder mehrmals. -
Der Modifizierer „+“ (
+) entspricht dem vorangehenden Muster mindestens einmal. -
Der Bereichsmodifikator (
{...}) gibt an, wie oft ein Muster übereinstimmen kann.
pathAdvancedPattern-Matcher ist eine Implementierung der Auswertung, bei der der Abgleich in Echtzeit mit dem Muster erfolgt und kein Backtracking unterstützt wird.Da
\als Escape-Zeichen verwendet wird, wenn der String aus XML gelesen wird, bevor er als Muster geparst wird, müssen Sie ihn doppelt maskieren. Beispiel: Das Literal*wird als\\*und das Literal\als\\\\geschrieben. Das entspricht dem, was Sie beim Erstellen des Strings in Java-Code schreiben.Weitere Informationen zu diesen fünf Mustertypen finden Sie in der Beschreibung von
PATTERN_LITERAL,PATTERN_PREFIX,PATTERN_SIMPLE_GLOB,PATTERN_SUFFIXundPATTERN_ADVANCED_GLOBin der KlassePatternMatcher.Diese Attribute sind nur sinnvoll, wenn auch die Attribute
schemeundhostfür den Filter angegeben sind.pathSuffixundpathAdvancedPatternwurden in 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. Oben finden Sie die Bedeutung und die zulässigen Muster für die einzelnen Attribute.Wenn Sie Zeichen abgleichen möchten, die normalerweise URI-codiert sind, geben Sie die Rohform (nicht codiert) im Attributwert an. Beispielsweise führt
<data android:fragment="test!" />zu Übereinstimmungen mit#test!und#test%21.Eingeführt in API-Level 35.
android:queryandroid:queryPrefixandroid:querySuffixandroid:queryPatternandroid:queryAdvancedPattern-
Ein Abgleich für einen URI-Abfrageparameter (und optional einen Wert). So können Sie beispielsweise URIs, die mit
?param=valueenden, mit<data android:query="param=value" />abgleichen. Geben Sie nicht das Präfix?an. Oben finden Sie die Bedeutung und die in den einzelnen Attributen zulässigen Muster.Wenn Sie Zeichen abgleichen möchten, die normalerweise URI-codiert sind, geben Sie die Rohform (nicht codiert) im Attributwert an. Beispielsweise führt
<data android:query="test!" />zu Übereinstimmungen mit?test!und?test%21.Eingeführt in API-Level 35.
android:mimeType- Ein MIME-Medientyp wie
image/jpegoderaudio/mpeg4-generic. Der Untertyp kann der Platzhalter*sein, um anzugeben, dass ein beliebiger Untertyp übereinstimmt.Häufig wird in einem Intent-Filter ein
<data>-Element deklariert, das nur das Attributandroid:mimeTypeenthält.Hinweis: Der MIME-Typ-Abgleich im Android-Framework ist im Gegensatz zu formalen RFC-MIME-Typen case-sensitive. Geben Sie MIME-Typen daher immer in Kleinbuchstaben an.
- Eingeführt in:
- API‑Level 1
- Siehe auch:
<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: 2026-02-23 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2026-02-23 (UTC)."],[],[]]