<veriler>

söz dizimi:
Veri etiketi, bir <intent-filter> öğesinin doğrudan alt öğesiyse: <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" />

Veri etiketi, <uri-relative-filter-group> öğesinin doğrudan alt öğesiyse:
<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" />
içinde bulunan:
<intent-filter>
<uri-relative-filter-group>
description:
Bir intent filtresine veri spesifikasyonu ekler. Spesifikasyon, mimeType özelliği kullanılarak bir veri türü, bir URI veya hem veri türü hem de URI'dir. URI, her bölümü için ayrı özelliklerle belirtilir:

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

URI biçimini belirten bu özellikler isteğe bağlıdır ancak birbirine bağlıdır:

  • Intent filtresi için scheme belirtilmemişse diğer tüm URI özellikleri yoksayılır.
  • Filtre için host belirtilmemişse port özelliği ve tüm yol özellikleri yoksayılır.

Aynı <intent-filter> öğesinde bulunan tüm <data> öğeleri aynı filtreye katkıda bulunur. Örneğin, aşağıdaki filtre spesifikasyonu:

<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>

şuna eş değerdir:

<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>

Birden fazla veri seçeneği sunmak için bir <data> öğesinin içine istediğiniz sayıda <intent-filter> yerleştirebilirsiniz. Özelliklerinin hiçbirinde varsayılan değer yok.

Amaç filtrelerinin işleyiş şekliyle ilgili bilgiler (amaç nesnelerinin filtrelere göre nasıl eşleştirileceğiyle ilgili kurallar dahil) için Amaçlar ve Amaç Filtreleri başlıklı makaleyi ve manifest dosyası genel bakışındaki Amaç filtreleri bölümünü inceleyin.

özellikleri:
android:scheme
URI'nin şema kısmı. Bu, bir URI belirtmek için gereken minimum temel özelliktir. Filtre için en az bir scheme özelliği ayarlanmalıdır. Aksi takdirde diğer URI özelliklerinin hiçbir anlamı olmaz.

Şema, sondaki iki nokta üst üste olmadan belirtiliyor. Örneğin, http: yerine http.

Filtrenin veri türü ayarlanmışsa (mimeType özelliği kullanılarak) ancak şeması yoksa content: ve file: şemaları varsayılır.

Not: Android çerçevesindeki şema eşleştirme, RFC'nin aksine büyük/küçük harfe duyarlıdır. Bu nedenle, şemaları her zaman küçük harflerle belirtin.

android:host
URI yetkilisi ana makine kısmı. Bu özellik, filtre için bir scheme özelliği de belirtilmediği sürece anlamsızdır. Birden fazla alt alan adını eşleştirmek için ana makinede sıfır veya daha fazla karakteri eşleştirmek üzere yıldız işareti (*) kullanın. Örneğin, *.google.com ana makinesi www.google.com, .google.com ve developer.google.com ile eşleşir.

Yıldız işareti, barındırıcı özelliğinin ilk karakteri olmalıdır. Örneğin, ana makine google.co.* geçersizdir. Bunun nedeni, yıldız joker karakterinin ilk karakter olmamasıdır.

Not: Android çerçevesindeki ana makine adı eşleştirme, resmi RFC'nin aksine büyük/küçük harfe duyarlıdır. Bu nedenle, ana makine adlarını her zaman küçük harflerle belirtin.

android:port
URI yetkisinin bağlantı noktası kısmı. Bu özellik yalnızca filtre için scheme ve host özellikleri de belirtilmişse anlamlıdır.
android:path
android:pathPrefix
android:pathSuffix
android:pathPattern
android:pathAdvancedPattern
Bir URI'nin yol kısmı / ile başlamalıdır. path özelliği, Intent nesnesindeki tam yolla eşleşen tam bir yolu belirtir. pathPrefix özelliği, yalnızca Intent nesnesindeki yolun ilk kısmıyla eşleşen kısmi bir yolu belirtir.

pathSuffix özelliği, Intent nesnesindeki yolun son kısmıyla tam olarak eşleştirilir ve bu özelliğin / karakteriyle başlaması gerekmez.

pathPattern özelliği, Intent nesnesindeki tam yolla eşleşen tam bir yolu belirtir ancak aşağıdaki joker karakterleri içerebilir:

  • Nokta (.) herhangi bir karakterle eşleşir.
  • Yıldız işareti (*), hemen önceki karakterin sıfır ile çok sayıda tekrarıyla eşleşir.
  • Nokta ve ardından yıldız işareti (.*), sıfır ila çok sayıda karakterden oluşan herhangi bir diziyle eşleşir.

pathAdvancedPattern özelliği, Intent nesnesinin tam yoluyla eşleşen ve aşağıdaki normal ifade benzeri kalıpları destekleyen tam bir yolu belirtir:

  • Nokta (.) herhangi bir karakterle eşleşir.
  • Küme ([...]), karakter aralıklarıyla eşleşir. Örneğin , [0-5] 0 ile 5 arasındaki tek bir rakamla eşleşir ancak 6 ile 9 arasındaki rakamlarla eşleşmez. [a-zA-Z] büyük/küçük harf ayrımı olmaksızın herhangi bir harfle eşleşir. Kümeler, "değil" ^ değiştiricisini de destekler.
  • Yıldız işareti (*) değiştiricisi, önceki kalıpla sıfır veya daha fazla kez eşleşir.
  • Artı (+) düzenleyicisi, önceki kalıpla bir veya daha fazla kez eşleşir.
  • Aralık ({...}) değiştiricisi, bir kalıbın kaç kez eşleşebileceğini belirtir.
pathAdvancedPattern eşleştiricisi, eşleştirmenin geri izleme desteği olmadan anlık olarak kalıba göre yapıldığı bir değerlendirme uygulamasıdır.

Dize XML'den okunurken \ çıkış karakteri olarak kullanıldığından, desen olarak ayrıştırılmadan önce çift çıkış yapmanız gerekir. Örneğin, * değişmezi \\* olarak, \ değişmezi ise \\\\ olarak yazılır. Bu, Java kodunda dize oluştururken yazdıklarınıza benzer.

Bu beş türdeki desen hakkında daha fazla bilgi için PatternMatcher sınıfındaki PATTERN_LITERAL, PATTERN_PREFIX, PATTERN_SIMPLE_GLOB, PATTERN_SUFFIX ve PATTERN_ADVANCED_GLOB açıklamalarına bakın.

Bu özellikler yalnızca filtre için scheme ve host özellikleri de belirtilmişse anlamlıdır.

pathSuffix ve pathAdvancedPattern, API düzeyi 31'de kullanıma sunuldu.

android:fragment
android:fragmentPrefix
android:fragmentSuffix
android:fragmentPattern
android:fragmentAdvancedPattern

URI parçası için eşleştirici. # önekini eklemeyin. Her bir özelliğin anlamı ve izin verilen kalıplar için yukarıya bakın.

Genellikle URI kodlaması yapılan karakterlerle eşleşmek için ham (kodlanmamış) biçimi özellik değerine ekleyin. Örneğin, <data android:fragment="test!" />, #test! ve #test%21 ile eşleşir.

API düzeyi 35'te kullanıma sunulmuştur.

android:query
android:queryPrefix
android:querySuffix
android:queryPattern
android:queryAdvancedPattern

Bir URI sorgu parametresi (ve isteğe bağlı olarak bir değer) için eşleştirici. Örneğin, ?param=value ile biten URI'leri <data android:query="param=value" /> ile eşleştirebilirsiniz. ? önekini eklemeyin. Her bir özellikte izin verilen kalıplar ve anlamlar için yukarıya bakın.

Genellikle URI kodlu olan karakterlerle eşleşmek için ham (kodlanmamış) biçimi özellik değerine ekleyin. Örneğin, <data android:query="test!" />, ?test! ve ?test%21 ile eşleşir.

API düzeyi 35'te kullanıma sunulmuştur.

android:mimeType
image/jpeg veya audio/mpeg4-generic gibi bir MIME medya türü. Alt tür, herhangi bir alt türün eşleştiğini belirtmek için yıldız işareti joker karakteri (*) olabilir.

Intent filtresinin yalnızca android:mimeType özelliğini içeren bir <data> öğesi bildirmesi yaygın bir durumdur.

Not: Android çerçevesindeki MIME türü eşleştirme, resmi RFC MIME türlerinin aksine büyük/küçük harfe duyarlıdır. Bu nedenle, MIME türlerini her zaman küçük harflerle belirtin.

Tanıtıldığı oyun:
API düzeyi 1
Ayrıca:
<action>
<category>