- 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
belirtilmezseport
ö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.
- Intent filtresi için
- ö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:
yerinehttp
gibi, sonda iki nokta işareti olmadan bir şema belirtilir.Filtrede bir veri türü grubu varsa (
mimeType
özelliği kullanılarak) ancak şema yoksacontent:
vefile:
ş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 makinesiwww.google.com
,.google.com
vedeveloper.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
vehost
ö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, birIntent
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ındakiPATTERN_LITERAL
,PATTERN_PREFIX
,PATTERN_SIMPLE_GLOB
,PATTERN_SUFFIX
vePATTERN_ADVANCED_GLOB
açıklamalarına bakın.Bu özellikler yalnızca filtre için
scheme
vehost
özellikleri de belirtildiğinde anlamlı olur.pathSuffix
vepathAdvancedPattern
, API düzeyi 31'de kullanıma sunuldu. - Yıldız işareti (
android:mimeType
image/jpeg
veyaaudio/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>
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2024-06-21 UTC.
[]
[]
{
"last_modified": "Son güncelleme tarihi: 2024-06-21 UTC.",
"state": ""
}