<veriler>

söz dizimi:
<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" />
bulunduğu yer:
<intent-filter>
description:
Amaç filtresine veri spesifikasyonu ekler. Spesifikasyon; mimeType özelliğini, URI'yı veya hem veri türünü hem de URI'yı kullanan bir veri türüdür. URI, her bir parçası için ayrı özelliklerle belirtilir:

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

URI biçimini belirten bu özellikler isteğe bağlı olmakla birlikte karşılıklı olarak da bağımlıdır:

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

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

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

şuna eşdeğerdir:

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

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

Amaç nesnelerinin filtrelerle nasıl eşleştirileceğine ilişkin kurallar da dahil olmak üzere intent filtrelerinin işleyiş şekli hakkında bilgi edinmek için manifest dosyası genel bakış sayfasındaki Amaçlar ve Amaç Filtreleri ve Amaç filtreleri bölümüne bakın.

özellikler:
android:scheme
URI'ın şema kısmıdır. Bu, URI belirtmek için gereken en temel özelliktir. Filtre için en az bir scheme özelliği ayarlanmalıdır veya diğer URI özelliklerinin hiçbiri anlamlı değildir.

http: yerine http gibi, sonda iki nokta işareti olmadan bir şema belirtilir.

Filtrede bir veri türü grubu varsa (mimeType özelliği kullanılarak) ancak şema yoksa content: ve file: şemaları kabul edilir.

Not: Android çerçevesindeki şema eşleştirme, RFC'den farklı olarak büyük/küçük harfe duyarlıdır. Sonuç olarak, şemaları daima küçük harf kullanarak belirtin.

android:host
URI yetkilisinin ana makine kısmıdır. Filtre için bir scheme özelliği de belirtilmediği sürece bu özellik anlamsızdır. Birden çok 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, yıldız işareti joker karakteri ilk karakter olmadığı için google.co.* ana makinesi geçersizdir.

Not: Android çerçevesinde ana makine adı eşleşmesi, resmi RFC'den farklı olarak büyük/küçük harfe duyarlıdır. Bu nedenle, ana makine adlarını her zaman küçük harfle belirtin.

android:port
URI yetkilisinin bağlantı noktası kısmı. Bu özellik yalnızca filtre için scheme ve host özellikleri de belirtildiğinde anlamlı olur.
android:path
android:pathPrefix
android:pathSuffix
android:pathPattern
android:pathAdvancedPattern
URI'ın / ile başlaması gereken yol kısmı. path özelliği, bir Intent nesnesindeki tam yolla eşleşen tam yolu belirtir. pathPrefix özelliği, Intent nesnesindeki yolun yalnızca ilk kısmıyla eşleşen kısmi bir yolu belirtir.

pathSuffix özelliği, Intent nesnesindeki yolun bitiş kısmıyla tam olarak eşleşir ve bu özelliğin / karakteriyle başlaması gerekmez. pathPattern özelliği, Intent nesnesindeki tam yolla eşleşen tam yolu belirtir, ancak aşağıdaki joker karakterleri içerebilir:

  • Yıldız işareti (*), hemen öncesindeki karakterin sıfır ila çok sayıda tekrarını içeren bir diziyle eşleşir.
  • Ardından yıldız işareti (.*) gelen nokta, sıfır ile çok sayıda karakterden oluşan herhangi bir diziyle eşleşir.

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

  • Nokta (.) herhangi bir karakterle eşleşir.
  • Bir grup ([...]), 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ında bir rakamla eşleşmez. [a-zA-Z] büyük/küçük harf kullanımı fark etmeksizin herhangi bir harfle eşleşir. Gruplar, "not" ^ 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ı (+) değiştiricisi ö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ştirici, eşleştirmenin geri izleme desteği olmadan gerçek zamanlı olarak kalıpla karşılaştırıldığı bir değerlendirme uygulamasıdır.

\, dize XML'den okunurken çıkış karakteri olarak kullanıldığından, kalıp olarak ayrıştırılmadan önce çift çıkış karakteri kullanmanız gerekir. Örneğin, * harfi \\* olarak, \ değeri ise \\\ olarak yazılır. Bu, Java kodunda dizeyi oluştururken yazdığınız gibidir.

Bu beş kalıp türü 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 belirtildiğinde anlamlı olur.

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

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 filtrelerinin 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. Sonuç olarak MIME türlerini her zaman küçük harfle belirtin.

tanıtıldığı yer:
API düzeyi 1
ayrıca bkz.:
<action>
<category>