<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 kullanarak bir veri türü özelliği, URI ya da hem veri türü hem de URI olabilir. URI, ayrı bir özellikleri:

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

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

Aynı<data> <intent-filter> öğesi aynı filtre yer alır. 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" /&gt
    <data android:host="project.example.com" />
    ...
</intent-filter>

Bir<data> Birden çok veri vermek için <intent-filter> seçenekleri vardır. Özelliklerinin hiçbirinde varsayılan değer yok.

Amaç nesnelerinin nasıl çalıştığına ilişkin kurallar da dahil olmak üzere intent filtrelerinin işleyiş şekli hakkında bilgi için filtreyle eşleştirildiğinden emin olmak için Amaçlar ve Amaç Filtreleri ve Amaç filtreleri bölümünü inceleyebilirsiniz.

özellikler:
android:scheme
URI'ın şema kısmıdır. Bu, bir yöneticinin kullandığı belirtir. En az bir scheme özelliği ayarlanmalıdır veya diğer URI özelliklerinin hiçbiri anlamlı değildir.

Sonunda iki nokta üst üste olmadan şu gibi bir şema belirtilir: http: yerine http.

Filtrede bir veri türü grubu varsa (mimeType özelliği) içerir ancak şema bulunmazsa content: ve file: şemaları varsayılır.

Not: Android çerçevesinde şema eşleştirme büyük/küçük harfe duyarlıdır. Sonuç olarak, şemaları daima küçük harf kullanın.

android:host
. URI yetkilisinin ana makine kısmıdır. Bu özellik anlamsız ancak scheme özelliği değeri de belirtilir. Birden çok alt alan adını eşleştirmek için yıldız işareti (*) kullanın: ana makinede sıfır veya daha fazla karakteri eşleştirir. Örneğin, ana makine *.google.com ile eşleşir www.google.com, .google.com ve developer.google.com.

Yıldız işareti, barındırıcı özelliğinin ilk karakteri olmalıdır. Örneğin, sunucu Yıldız işareti joker karakteri ilk karakter olmadığı için google.co.* geçersiz.

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

android:port
URI yetkilisinin bağlantı noktası kısmı. Bu özellik yalnızca anlamlıdır scheme ve Şunun için de host özellikleri belirtildi: seçin.
android:path
android:pathPrefix
android:pathSuffix
android:pathPattern
android:pathAdvancedPattern
URI'ın / ile başlaması gereken yol kısmı. path özelliği, Intent nesnesindeki tam yolla eşleşen yol. İlgili içeriği oluşturmak için kullanılan pathPrefix özelliği, eşleşen kısmi bir yolu belirtir Intent nesnesindeki yolun yalnızca ilk kısmı.

İlgili içeriği oluşturmak için kullanılan pathSuffix özelliği, Intent nesnesini tanımlayın ve bu özelliğin / karakteriyle başlaması gerekmez. İlgili içeriği oluşturmak için kullanılan pathPattern özelliği, tamamlanmayla eşleşen tam yolu belirtir yolunun Intent olduğunu fark eder, ancak şu joker karakterleri içerebilir:

  • Yıldız işareti (*), sıfır ila çok sayıda olan bir diziyle eşleşir karakteri ekleyin.
  • ve ardından yıldız işareti (.*) gelen nokta, çok fazla karakter kullanabilirsiniz.

pathAdvancedPattern özelliği, Intent nesnesinin tam yolunu 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 eşleşmez. [a-zA-Z]. büyük/küçük harf kullanımı fark etmeksizin herhangi bir harfle eşleşir. Setler "not" özelliğini de destekler ^ değiştiricisi.
  • 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 gösterileceğini belirtir eşleşebilir.
ziyaret edin. pathAdvancedPattern eşleştiricisi, eşleştirme ve ölçümde eşleşmenin , geri izleme desteği olmadan gerçek zamanlı olarak kalıba göre yapılır.

Çünkü dize okunurken çıkış karakteri olarak \ kullanılır kalıbı olarak ayrıştırılmadan önce iki kez kod dışına almanız gerekir. Örneğin, bir * harfi \\* olarak yazılır ve \ değişmez değeri \\\ olarak yazılır. Örneğin, Google Haberler'de dizeyi Java kodunda oluşturma.

Bu beş kalıp türü hakkında daha fazla bilgi için PATTERN_LITERAL, PATTERN_PREFIX, PATTERN_SIMPLE_GLOB, PATTERN_SUFFIX ve PATTERN_ADVANCED_GLOB PatternMatcher sınıfı.

Bu özelliklerin anlamlı olması için scheme host özellikleri de belirtilir.

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,* alt tür eşleşiyor.

Amaç filtrelerinin, aşağıdakileri içeren bir <data> öğesi bildirmesi yaygın bir durumdur. yalnızca android:mimeType özelliği kullanılabilir.

Not: Android çerçevesinde MIME türü eşleşmesi resmi RFC MIME türlerinin aksine büyük/küçük harfe duyarlıdır. Sonuç olarak her zaman küçük harfler kullanarak MIME türlerini belirtme

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