<dane>

składnia:
<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" />
zawarte w:
<intent-filter>
description:
Dodaje specyfikację danych do filtra intencji. Specyfikacja jest typu danych za pomocą funkcji mimeType identyfikator, identyfikator URI albo typ danych i identyfikator URI. Identyfikator URI jest określany oddzielnym ciągiem atrybutów poszczególnych części:

<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>|<pathAdvancedPattern>|<pathSuffix>]

Te atrybuty określające format identyfikatora URI są opcjonalne, ale są też wzajemnie zależne:

  • Jeśli scheme nie zostanie określony dla filtra intencji, wszystkie pozostałe atrybuty identyfikatora URI zostaną zignorowane.
  • Jeśli host nie zostanie określony dla filtra, atrybut port i wszystkie atrybuty ścieżki zostaną zignorowane.

Wszystkie elementy <data> zawarte w tym samym <intent-filter> element przyczynia się do ten sam filtr. Przykładowo ta specyfikacja filtra:

<intent-filter . . . >
    <data android:scheme="something" android:host="project.example.com" />
    ...
</intent-filter>

jest odpowiednikiem tej:

<intent-filter . . . >
    <data android:scheme="something" /&gt
    <data android:host="project.example.com" />
    ...
</intent-filter>

Wewnątrz elementu <data> można umieścić dowolną liczbę <intent-filter>, aby dodać wiele danych . Żaden z jego atrybutów nie ma wartości domyślnych.

Informacje o działaniu filtrów intencji, w tym o regułach działania obiektów intencji są dopasowane do filtrów, patrz sekcja Intencje Filtry intencji oraz Filtry intencji w omówieniu pliku manifestu.

atrybuty:
android:scheme
Część schematu identyfikatora URI. Jest to minimalny podstawowy atrybut podając identyfikator URI. Musisz ustawić co najmniej 1 atrybut scheme dla filtra lub żaden inny atrybut identyfikatora URI nie jest przydatny.

Schemat jest określony bez dwukropka na końcu, np. http, a nie http:.

Jeśli filtr ma ustawiony typ danych (za pomocą funkcji mimeType ), ale bez schematu, schematy content: i file: są jak domniemana.

Uwaga: dopasowywanie schematów na platformie Androida to (z uwzględnieniem wielkości liter, inaczej niż w RFC). Dlatego zawsze określaj schematy używając małych liter.

android:host
Część hosta identyfikatora URI. Ten atrybut jest bez znaczenia chyba że atrybut scheme jest także określony dla filtra. Aby dopasować wiele subdomen, użyj gwiazdki (*), aby dopasuj zero lub więcej znaków w hoście. Na przykład host *.google.com pasuje do www.google.com, .google.com i developer.google.com.

Gwiazdka musi być pierwszym znakiem atrybutu host. Na przykład: Wartość google.co.* jest nieprawidłowa, ponieważ symbol wieloznaczny nie jest pierwszym znakiem.

Uwaga: dopasowywanie nazw hostów w ramach platformy Androida to (z uwzględnieniem wielkości liter, inaczej niż w oficjalnym dokumencie RFC). W efekcie zawsze określaj, w nazwach hostów zapisanych małymi literami.

android:port
Część portu w urzędzie URI. Ten atrybut ma znaczenie tylko jeśli scheme i Atrybuty host są też określone dla użyj filtra.
android:path
android:pathPrefix
android:pathSuffix
android:pathPattern
android:pathAdvancedPattern
Część ścieżki identyfikatora URI, która musi się zaczynać od /. Atrybut path określa pełną dopasowywaną do pełnej ścieżki w obiekcie Intent. Atrybut pathPrefix określa częściową ścieżkę, do której pasuje tylko początkową część ścieżki w obiekcie Intent.

Atrybut pathSuffix jest ściśle dopasowany do końcowej części ścieżki w atrybucie Intent, a ten atrybut nie musi zaczynać się od znaku /. Atrybut pathPattern określa pełną ścieżkę, która jest dopasowywana do pełnej w obiekcie Intent, ale może zawierać te symbole wieloznaczne:

  • Gwiazdka (*) odpowiada sekwencji od 0 do wielu wystąpień bezpośrednio poprzedzający znak.
  • Kropka z gwiazdką (.*) odpowiada dowolnej sekwencji od zera do wielu znaków.

Atrybut pathAdvancedPattern określa pełną ścieżkę, która jest dopasowywana do pełna ścieżka obiektu Intent i obsługuje następujące wzorce podobne do wyrażeń regularnych:

  • Kropka (.) odpowiada dowolnemu znakowi.
  • Zestaw ([...]) odpowiada zakresom znaków. Na przykład: [0-5] odpowiada pojedynczemu cyfrom od 0 do 5, ale nie cyfrom od 6 do 9. [a-zA-Z] odpowiada dowolnej literze, niezależnie od wielkości liter. Zestawy obsługują również wartość „nie” Modyfikator ^.
  • Modyfikator gwiazdki (*) pasuje do poprzedniego wzorca co najmniej 0 razy.
  • Modyfikator plusa (+) co najmniej raz pasuje do poprzedniego wzorca.
  • Modyfikator zakresu ({...}) określa, ile razy wzór które mogą być takie same.
. Dopasowanie pathAdvancedPattern to implementacja oceny, w której dopasowywanie odbywa się w czasie rzeczywistym w porównaniu z wzorcem, bez obsługi śledzenia wstecznego.

Ponieważ \ jest używany jako znak zmiany znaczenia podczas odczytywania ciągu z kodu XML, zanim zostanie on przetworzony jako wzorzec, musisz dwukrotnie zastosować zmianę znaczenia. Na przykład literał * jest zapisany jako \\*, a literał \ jest zapisany jako \\\. Tak jak wtedy, gdy piszesz do utworzenia ciągu w kodzie Java.

Więcej informacji o tych 5 typach wzorców znajdziesz w opisach PATTERN_LITERAL, PATTERN_PREFIX, PATTERN_SIMPLE_GLOB, PATTERN_SUFFIX i PATTERN_ADVANCED_GLOB w: PatternMatcher zajęcia.

Te atrybuty mają znaczenie tylko wtedy, gdy scheme i host dla filtra są też określone atrybuty.

Wersje pathSuffix i pathAdvancedPattern zostały wprowadzone w interfejsie API na poziomie 31.

android:mimeType
Typ multimediów MIME, na przykład image/jpeg lub audio/mpeg4-generic. Podtypem może być symbol wieloznaczny z gwiazdką (*) wskazujący, że każdy dopasowania podtypu.

Często filtr intencji deklaruje element <data> zawierający tylko atrybut android:mimeType.

Uwaga: dopasowanie typu MIME w środowisku Androida to rozróżniania wielkości liter w odróżnieniu od formalnych typów MIME w standardzie RFC. W związku z tym zawsze określ typy MIME używające małych liter.

wprowadzone w:
Poziom API 1
zobacz też:
<action>
<category>