- składnia:
 - Jeśli tag danych jest bezpośrednim elementem podrzędnym elementu 
<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" />
Jeśli tag danych jest bezpośrednim elementem podrzędnym tagu<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" />
 - zawarte w:
 - 
  
<intent-filter><uri-relative-filter-group> - description:
 - Dodaje specyfikację danych do filtra intencji.  Specyfikacja to typ danych, który używa atrybutu 
mimeType, identyfikatora URI lub obu tych elementów. URI jest określany przez osobne atrybuty dla każdego z jego elementów:<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>|<pathAdvancedPattern>|<pathSuffix>]Te atrybuty, które określają format identyfikatora URI, są opcjonalne, ale też wzajemnie zależne:
- Jeśli dla filtra intencji nie zostanie określony parametr 
scheme, wszystkie pozostałe atrybuty URI zostaną zignorowane. - Jeśli dla filtra nie zostanie określona wartość 
host, atrybutporti wszystkie atrybuty ścieżki zostaną zignorowane. 
Wszystkie elementy
<data>zawarte w tym samym elemencie<intent-filter>przyczyniają się do tego samego filtra. Na przykład:<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>
jest równoważne tej:
<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>
Możesz umieścić dowolną liczbę elementów
<data>wewnątrz elementu<intent-filter>, aby zapewnić mu wiele opcji danych. Żaden z tych atrybutów nie ma wartości domyślnej.Informacje o tym, jak działają filtry intencji, w tym reguły dopasowywania obiektów intencji do filtrów, znajdziesz w artykule Intencje i filtry intencji oraz w sekcji Filtry intencji w omówieniu pliku manifestu.
 - Jeśli dla filtra intencji nie zostanie określony parametr 
 - atrybuty:
 android:scheme- Schemat identyfikatora URI.  Jest to minimalny niezbędny atrybut do określenia identyfikatora URI. Filtr musi zawierać co najmniej 1 atrybut 
scheme, w przeciwnym razie żadne z innych atrybutów URI nie będą miały znaczenia.Schemat jest określony bez nawiasu klamrowego, np.
httpzamiasthttp:.Jeśli filtr ma ustawiony typ danych (za pomocą atrybutu
mimeType), ale nie ma schematu, zakłada się schematycontent:ifile:.Uwaga: w ramach Androida dopasowywanie schematu, w odróżnieniu od RFC, uwzględnia wielkość liter. Dlatego zawsze określaj schematy za pomocą małych liter.
 android:host- Część hosta w autorytecie identyfikatora URI. Ten atrybut jest bez znaczenia, chyba że dla filtra podano też atrybut 
scheme. Aby dopasować wiele subdomen, użyj gwiazdki (*), aby dopasować 0 lub więcej znaków w hostie. Na przykład host*.google.compasuje dowww.google.com,.google.comideveloper.google.com.Gwiazdka musi być pierwszym znakiem atrybutu hosta. Na przykład host
google.co.*jest nieprawidłowy, ponieważ symbol wieloznaczny gwiazdka nie jest pierwszym znakiem.Uwaga: w ramach Androida dopasowywanie nazwy hosta jest zależne od wielkości liter, w przeciwieństwie do formalnego standardu RFC. Dlatego zawsze używaj nazw hostów zapisanych małymi literami.
 android:port- Numer portu w autorytecie identyfikatora URI.  Ten atrybut ma znaczenie tylko wtedy, gdy w filtrze są też określone atrybuty 
schemeihost. android:pathandroid:pathPrefixandroid:pathSuffixandroid:pathPatternandroid:pathAdvancedPattern- Ścieżka w identyfikatorze URI, która musi zaczynać się od 
/. Atrybutpathokreśla pełną ścieżkę, która jest dopasowywana do pełnej ścieżki w obiekcieIntent. AtrybutpathPrefixokreśla częściową ścieżkę, która jest dopasowywana tylko do początkowej części ścieżki w obiekcieIntent.Atrybut
pathSuffixjest dopasowywany dokładnie do końcowej części ścieżki w obiekcieIntent. Nie musi on zaczynać się od znaku/.Atrybut
pathPatternokreśla pełną ścieżkę, która jest dopasowywana do pełnej ścieżki w obiekcieIntent, ale może zawierać te symbole wieloznaczne:- Kropka (
.) odpowiada dowolnemu znakowi. - 
      Gwiazdka (
*) odpowiada sekwencji od 0 do wielu wystąpień bezpośrednio poprzedzającego ją znaku. - 
      Kropka z gwiazdką (
.*) odpowiada dowolnej sekwencji od 0 do wielu znaków. 
Atrybut
pathAdvancedPatternokreśla pełną ścieżkę, która jest dopasowywana do pełnej ścieżki obiektuIntenti obsługuje te wzorce podobne do wyrażeń regularnych:- 
    Kropka (
.) odpowiada dowolnemu znakowi. - 
    Zestaw (
[...]) odpowiada zakresom znaków. Na przykład[0-5]pasuje do 1 cyfry od 0 do 5 , ale nie od 6 do 9.[a-zA-Z]pasuje do dowolnej litery, bez względu na wielkość liter. Zbiór obsługuje też modyfikator „nie”^. - 
    Modyfikator gwiazdka (
*) dopasowuje poprzedni wzorzec zero lub więcej razy. - 
    Modyfikator plusa (
+) dopasowuje poprzedni wzór co najmniej 1 raz. - 
    Modyfikator zakresu (
{...}) określa liczbę dopasowań wzorca. 
pathAdvancedPatternto implementacja oceny, w której dopasowywanie odbywa się w czasie rzeczywistym na podstawie wzorca bez obsługi cofnięcia.Ponieważ znak
\jest używany jako znak ucieczki podczas odczytu ciągu z pliku XML, przed przeanalizowaniem go jako wzorca należy go podwójnie uciec. Na przykład litera*jest zapisywana jako\\*, a litera\jest zapisywana jako\\\. Jest to podobne do tego, co piszesz podczas tworzenia ciągu znaków w kodzie Java.Więcej informacji o tych 5 typach wzorców znajdziesz w opisach klas
PATTERN_LITERAL,PATTERN_PREFIX,PATTERN_SIMPLE_GLOB,PATTERN_SUFFIXiPATTERN_ADVANCED_GLOBw klasiePatternMatcher.Te atrybuty mają znaczenie tylko wtedy, gdy w filtrze są też określone atrybuty
schemeihost.pathSuffixipathAdvancedPatternzostały wprowadzone na poziomie API 31. - Kropka (
 android:fragmentandroid:fragmentPrefixandroid:fragmentSuffixandroid:fragmentPatternandroid:fragmentAdvancedPattern- 
  
Dopasowywacz fragmentu identyfikatora URI. Nie dodawaj prefiksu
#. Oznaczanie i wzorce dozwolone w każdym atrybucie znajdziesz powyżej.Aby dopasować znaki, które są zwykle kodowane w identyfikatorze URI, dodaj do wartości atrybutu ich postać nieprzetworzoną (niezakodowaną). Na przykład:
<data android:fragment="test!" />pasuje do#test!i#test%21.Wprowadzony na poziomie API 35.
 android:queryandroid:queryPrefixandroid:querySuffixandroid:queryPatternandroid:queryAdvancedPattern- 
  
Dopasowywacz parametru zapytania URI (i opcjonalnie wartości). Możesz na przykład dopasowywać identyfikatory URI kończące się ciągiem
?param=valuedo ciągu<data android:query="param=value" />. Nie dodawaj prefiksu?. Oznaczanie i dozwolone wzorce dla każdego atrybutu znajdziesz powyżej.Aby dopasować znaki, które są zwykle kodowane w formacie URI, w wartości atrybutu podaj ich postać nieprzetworzoną. Na przykład:
<data android:query="test!" />pasuje do?test!i?test%21.Wprowadzono na poziomie interfejsu API 35.
 android:mimeType- Typ multimediów MIME, np. 
image/jpeglubaudio/mpeg4-generic. Podtypem może być symbol wieloznaczny gwiazdka (*), który wskazuje, że pasuje dowolny podtyp.Filtr intencji często deklaruje element
<data>, który zawiera tylko atrybutandroid:mimeType.Uwaga: dopasowywanie typu MIME w ramach Androida jest zależne od wielkości liter, w przeciwieństwie do formalnych typów MIME RFC. Dlatego zawsze używaj małych liter, aby określić typy MIME.
 
- wprowadzona w:
 - Poziom API 1
 - Zobacz też:
 <action><category>
      <dane>
  
  
  Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
  
  
    
      [[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[]]