- نحو:
- اگر تگ داده فرزند بلافصل یک
<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" />
اگر تگ داده فرزند بلافصل یک<uri-relative-filter-group>باشد:<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" />
- مندرج در:
-
<intent-filter>
<uri-relative-filter-group> - شرح:
- مشخصات داده را به یک فیلتر intent اضافه میکند. این مشخصات یک نوع داده است که از ویژگی
mimeType، یک URI یا هر دو نوع داده و URI استفاده میکند. یک URI با ویژگیهای جداگانهای برای هر یک از بخشهای آن مشخص میشود:<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>|<pathAdvancedPattern>|<pathSuffix>]این ویژگیها که قالب URI را مشخص میکنند اختیاری هستند، اما به یکدیگر وابسته نیز میباشند:
- اگر
schemeبرای فیلتر intent مشخص نشده باشد، تمام ویژگیهای دیگر URI نادیده گرفته میشوند. - اگر
hostبرای فیلتر مشخص نشده باشد، ویژگیportو تمام ویژگیهای مسیر نادیده گرفته میشوند.
تمام عناصر
<data>که درون عنصر<intent-filter>قرار دارند، در یک فیلتر مشابه مشارکت میکنند. بنابراین، برای مثال، مشخصات فیلتر زیر:<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>
معادل این یکی است:
<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>
شما میتوانید هر تعداد عنصر
<data>را درون<intent-filter>قرار دهید تا گزینههای دادهای متعددی به آن بدهید. هیچ یک از ویژگیهای آن مقادیر پیشفرض ندارند.برای اطلاعات در مورد نحوه عملکرد فیلترهای intent، از جمله قوانین مربوط به نحوه تطبیق اشیاء intent با فیلترها، به بخش Intents و Intent Filters و بخش Intent filters در نمای کلی فایل manifest مراجعه کنید.
- اگر
- ویژگیها:
-
android:scheme - بخش طرحواره (scheme) یک URI. این حداقل ویژگی ضروری برای مشخص کردن یک URI است. حداقل یک ویژگی
schemeباید برای فیلتر تنظیم شود، در غیر این صورت هیچ یک از ویژگیهای دیگر URI معنیدار نخواهند بود.یک طرح بدون علامت دو نقطه در انتهای آن مشخص میشود، مانند
httpبه جایhttp:اگر فیلتر دارای مجموعه نوع داده باشد (با استفاده از ویژگی
mimeType) اما هیچ طرحی نداشته باشد، طرحهایcontent:وfile:در نظر گرفته میشوند.نکته : تطبیق طرحواره در چارچوب اندروید، برخلاف RFC، به حروف کوچک و بزرگ حساس است. در نتیجه، همیشه طرحوارهها را با حروف کوچک مشخص کنید.
-
android:host - بخش میزبان از یک مرجع URI. این ویژگی بیمعنی است مگر اینکه یک ویژگی
schemeنیز برای فیلتر مشخص شده باشد. برای تطبیق چندین زیردامنه، از ستاره (*) برای تطبیق صفر یا چند کاراکتر در میزبان استفاده کنید. برای مثال، میزبان*.google.comباwww.google.com،.google.comوdeveloper.google.comمطابقت دارد.علامت ستاره باید اولین کاراکتر از ویژگی میزبان باشد. برای مثال، host
google.co.*نامعتبر است، زیرا علامت ستاره اولین کاراکتر نیست.نکته : تطبیق نام میزبان در چارچوب اندروید، برخلاف RFC رسمی، به حروف کوچک و بزرگ حساس است. در نتیجه، همیشه نام میزبانها را با حروف کوچک مشخص کنید.
-
android:port - بخش پورت یک مرجع URI. این ویژگی تنها در صورتی معنادار است که ویژگیهای
schemeوhostنیز برای فیلتر مشخص شده باشند. -
android:path
android:pathPrefix
android:pathSuffix
android:pathPattern
android:pathAdvancedPattern - بخش مسیر یک URI که باید با یک
/شروع شود. ویژگیpathیک مسیر کامل را مشخص میکند که با مسیر کامل در یک شیءIntentمطابقت دارد. ویژگیpathPrefixیک مسیر جزئی را مشخص میکند که فقط با بخش اولیه مسیر در شیءIntentمطابقت دارد.ویژگی
pathSuffixدقیقاً با قسمت انتهایی مسیر در شیءIntentمطابقت دارد و این ویژگی لازم نیست با کاراکتر/شروع شود.ویژگی
pathPatternیک مسیر کامل را مشخص میکند که با مسیر کامل در شیءIntentمطابقت دارد، اما میتواند شامل wildcard های زیر باشد:- نقطه (
.) با هر کاراکتری مطابقت دارد. - علامت ستاره (
*) با دنبالهای از صفر تا چندین تکرار از کاراکتر بلافاصله قبل از خود مطابقت دارد. - نقطه و به دنبال آن علامت ستاره (
.*) هر دنباله از صفر تا چند کاراکتر را مطابقت میدهد.
ویژگی
pathAdvancedPatternیک مسیر کامل را مشخص میکند که با مسیر کامل شیءIntentمطابقت دارد و از الگوهای regex مانند زیر پشتیبانی میکند:- نقطه (
.) با هر کاراکتری مطابقت دارد. - یک مجموعه (
[...]) با محدودهای از کاراکترها مطابقت دارد. برای مثال،[0-5]با یک رقم واحد از 0 تا 5 مطابقت دارد اما با 6 تا 9 مطابقت ندارد.[a-zA-Z]با هر حرفی، صرف نظر از کوچکی و بزرگی حروف، مطابقت دارد. مجموعهها همچنین از اصلاحکننده "not"^پشتیبانی میکنند. - علامت ستاره (
*) با الگوی قبلی صفر یا چند بار مطابقت دارد. - علامت جمع (
+) یک یا چند بار با الگوی قبلی مطابقت دارد. - اصلاحکنندهی محدوده (
{...}) تعداد دفعاتی را که یک الگو میتواند مطابقت داشته باشد، مشخص میکند.
pathAdvancedPatternیک پیادهسازی ارزیابی است که در آن تطبیق با الگو به صورت بلادرنگ و بدون پشتیبانی از بازگشت به عقب انجام میشود.از آنجا که
\هنگام خواندن رشته از XML به عنوان یک کاراکتر گریز استفاده میشود، قبل از اینکه به عنوان یک الگو تجزیه شود، باید از دو کاراکتر گریز استفاده کنید. برای مثال، یک*به صورت\\*و یک\به صورت\\\\نوشته میشود. این شبیه چیزی است که هنگام ساخت رشته در کد جاوا مینویسید.برای اطلاعات بیشتر در مورد این پنج نوع الگو، به توضیحات
PATTERN_LITERAL،PATTERN_PREFIX،PATTERN_SIMPLE_GLOB،PATTERN_SUFFIXوPATTERN_ADVANCED_GLOBدر کلاسPatternMatcherمراجعه کنید.این ویژگیها تنها در صورتی معنادار هستند که ویژگیهای
schemeوhostنیز برای فیلتر مشخص شده باشند.pathSuffixوpathAdvancedPatternدر API سطح ۳۱ معرفی شدند. - نقطه (
-
android:fragment
android:fragmentPrefix
android:fragmentSuffix
android:fragmentPattern
android:fragmentAdvancedPattern یک تطبیقدهنده برای یک قطعه URI. پیشوند
#را وارد نکنید. برای معنی و الگوهای مجاز در هر ویژگی، به بالا مراجعه کنید.برای تطبیق کاراکترهایی که معمولاً URI کدگذاری میشوند، فرم خام (بدون کدگذاری) را در مقدار ویژگی قرار دهید. برای مثال،
<data android:fragment="test!" />با#test!و#test%21مطابقت دارد.در API سطح ۳۵ معرفی شد.
-
android:query
android:queryPrefix
android:querySuffix
android:queryPattern
android:queryAdvancedPattern یک تطبیقدهنده برای پارامتر پرسوجوی URI (و به صورت اختیاری، یک مقدار). برای مثال، میتوانید URIهایی که به
?param=valueختم میشوند را با<data android:query="param=value" />تطبیق دهید. پیشوند?را وارد نکنید. برای معنی و الگوهای مجاز در هر ویژگی، به بالا مراجعه کنید.برای تطبیق کاراکترهایی که معمولاً URI-encoded هستند، شکل خام (غیر کد شده) را در مقدار ویژگی قرار دهید. برای مثال،
<data android:query="test!" />با?test!و?test%21مطابقت دارد.در API سطح ۳۵ معرفی شد.
-
android:mimeType - یک نوع رسانه MIME، مانند
image/jpegیاaudio/mpeg4-generic. زیرنوع میتواند علامت ستاره (*) باشد تا نشان دهد که هر زیرنوعی مطابقت دارد.برای یک فیلتر intent رایج است که یک عنصر
<data>تعریف کند که فقط شامل ویژگیandroid:mimeTypeباشد.نکته : تطبیق نوع MIME در چارچوب اندروید، برخلاف انواع MIME رسمی RFC، به حروف کوچک و بزرگ حساس است. در نتیجه، همیشه انواع MIME را با حروف کوچک مشخص کنید.
-
- معرفی شده در:
- API سطح ۱
- همچنین ببینید:
-
<action>
<category>
<داده ها>
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2026-02-23 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2026-02-23 بهوقت ساعت هماهنگ جهانی."],[],[]]