- البنية:
- إذا كانت علامة البيانات هي العنصر الفرعي المباشر لـ
<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> - description:
- تضيف مواصفات بيانات إلى فلتر الأهداف. تكون المواصفات
نوع بيانات، باستخدام السمة
mimeType، أو معرّف موارد منتظم (URI)، أو كليهما. يتم تحديد معرّف الموارد الموحّد (URI) من خلال سمات منفصلة لكل جزء من أجزائه:<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>|<pathAdvancedPattern>|<pathSuffix>]هذه السمات التي تحدّد تنسيق معرّف الموارد المنتظم (URI) اختيارية، ولكنها تعتمد أيضًا على بعضها البعض:
- إذا لم يتم تحديد
schemeلفلتر الأهداف، سيتم تجاهل جميع سمات معرّف الموارد المنتظم الأخرى. - في حال عدم تحديد
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>لتوفير خيارات بيانات متعددة له. لا تحتوي أي من سماته على قيم تلقائية.للحصول على معلومات حول طريقة عمل فلاتر الأهداف، بما في ذلك قواعد مطابقة عناصر الأهداف مع الفلاتر، راجِع الأهداف وفلاتر الأهداف وقسم فلاتر الأهداف في نظرة عامة على ملف البيان.
- إذا لم يتم تحديد
- السمات:
android:scheme- تمثّل هذه السمة جزء المخطط من معرّف الموارد المنتظم (URI). هذه هي السمة الأساسية الدنيا لتحديد معرّف موارد منتظم (URI). يجب ضبط سمة
schemeواحدة على الأقل للفلتر، وإلا لن يكون لأي من سمات معرّف الموارد المنتظم الأخرى أي معنى.يتم تحديد المخطط بدون النقطتين الرأسيتين اللاحقتين، مثل
httpبدلاً منhttp:.إذا كان الفلتر يتضمّن نوع بيانات محدّدًا (باستخدام السمة
mimeType) ولكن ليس له مخطط، سيتم افتراض المخططَينcontent:وfile:.ملاحظة: إنّ مطابقة المخطط في إطار عمل Android حسّاسة لحالة الأحرف، على عكس RFC. نتيجةً لذلك، يجب دائمًا تحديد المخططات باستخدام أحرف صغيرة.
android:host-
تمثّل هذه السمة جزء المضيف من جهة معرّف الموارد المنتظم (URI). لا معنى لهذه السمة ما لم يتم تحديد السمة
schemeللفلتر أيضًا. لمطابقة نطاقات فرعية متعددة، استخدِم علامة النجمة (*) لمطابقة صفر أو أكثر من الأحرف في المضيف. على سبيل المثال، يتطابق المضيف*.google.comمعwww.google.comو.google.comوdeveloper.google.com.يجب أن تكون علامة النجمة هي الحرف الأول من سمة المضيف. على سبيل المثال، المضيف
google.co.*غير صالح لأنّ حرف البدل النجمي ليس الحرف الأول.ملاحظة: إنّ مطابقة اسم المضيف في إطار عمل Android حساسة لحالة الأحرف، على عكس RFC الرسمي. نتيجةً لذلك، يجب دائمًا تحديد أسماء المضيفين باستخدام أحرف صغيرة.
android:port- تمثّل هذه السمة جزء المنفذ من جهة معرّف الموارد المنتظم (URI). لا تكون هذه السمة ذات معنى إلا إذا تم تحديد السمتَين
schemeوhostللفلتر أيضًا. android:pathandroid:pathPrefixandroid:pathSuffixandroid:pathPatternandroid:pathAdvancedPattern- جزء المسار من معرّف الموارد الموحّد (URI)، والذي يجب أن يبدأ بـ
/تحدّد السمةpathمسارًا كاملاً تتم مطابقته مع المسار الكامل في عنصرIntent. تحدّد السمةpathPrefixمسارًا جزئيًا تتم مطابقته مع الجزء الأولي فقط من المسار في العنصرIntent.تتم مطابقة السمة
pathSuffixتمامًا مع الجزء الأخير من المسار في العنصرIntent، ولا يجب أن تبدأ هذه السمة بالحرف/.تحدّد السمة
pathPatternمسارًا كاملاً تتم مطابقته مع المسار الكامل في العنصرIntent، ولكن يمكن أن تحتوي على أحرف البدل التالية:- تتطابق النقطة (
.) مع أي حرف. -
تتطابق علامة النجمة (
*) مع تسلسل من صفر إلى عدة مرات من الحرف الذي يسبقها مباشرةً. -
تتطابق النقطة المتبوعة بعلامة نجمة (
.*) مع أي تسلسل من صفر إلى عدة أحرف.
تحدّد السمة
pathAdvancedPatternمسارًا كاملاً تتم مطابقته مع المسار الكامل لعنصرIntent، وتتيح الأنماط التالية المشابهة للتعبيرات العادية:-
تتطابق النقطة (
.) مع أي حرف. -
تتطابق المجموعة (
[...]) مع نطاقات الأحرف. على سبيل المثال، يتطابق[0-5]مع رقم واحد من 0 إلى 5، ولكن ليس من 6 إلى 9.[a-zA-Z]تتطابق مع أي حرف، بغض النظر عن حالة الأحرف. تتيح المجموعات أيضًا استخدام المعدِّل "not"^. -
يتطابق المعدِّل النجمي (
*) مع النمط السابق صفر مرة أو أكثر. -
يتطابق المُعدِّل بعلامة الجمع (
+) مع النمط السابق مرة واحدة أو أكثر. -
يحدّد المعدِّل "النطاق" (
{...}) عدد المرات التي يمكن أن يتطابق فيها نمط.
pathAdvancedPatternهي عملية تنفيذ للتقييم يتم فيها إجراء المطابقة مع النمط في الوقت الفعلي بدون إمكانية التراجع.بما أنّ
\يُستخدَم كحرف إلغاء عند قراءة السلسلة من XML، يجب إلغاء الحرف مرتين قبل تحليله كنمط. على سبيل المثال، تتم كتابة الحرف*على النحو\\*، وتتم كتابة الحرف\على النحو\\\\. وهذا يشبه ما تكتبه عند إنشاء السلسلة في رمز Java البرمجي.لمزيد من المعلومات عن هذه الأنواع الخمسة من الأنماط، راجِع أوصاف
PATTERN_LITERALوPATTERN_PREFIXوPATTERN_SIMPLE_GLOBوPATTERN_SUFFIXوPATTERN_ADVANCED_GLOBفي فئةPatternMatcher.لا تكون هذه السمات مفيدة إلا إذا تم تحديد السمتَين
schemeوhostللفلتر أيضًا.تم تقديم السمتَين
pathSuffixوpathAdvancedPatternفي المستوى 31 من واجهة برمجة التطبيقات. - تتطابق النقطة (
android:fragmentandroid:fragmentPrefixandroid:fragmentSuffixandroid:fragmentPatternandroid:fragmentAdvancedPattern-
أداة مطابقة لجزء من معرّف الموارد المنتظم (URI) لا تُدرِج البادئة
#. راجِع ما ورد أعلاه لمعرفة معنى الأنماط المسموح بها في كل سمة.لمطابقة الأحرف التي يتم عادةً ترميزها باستخدام URI، أدرِج النموذج الأولي (غير المرمّز) في قيمة السمة. على سبيل المثال،
<data android:fragment="test!" />تطابق#test!و#test%21.تم طرحها في المستوى 35 من واجهة برمجة التطبيقات.
android:queryandroid:queryPrefixandroid:querySuffixandroid:queryPatternandroid:queryAdvancedPattern-
أداة مطابقة لمَعلمة طلب بحث URI (وقيمة اختيارية). على سبيل المثال، يمكنك مطابقة عناوين URI التي تنتهي بـ
?param=valueمع<data android:query="param=value" />. لا تُدرِج البادئة?. راجِع ما ورد أعلاه لمعرفة معنى الأنماط المسموح بها في كل سمة.لمطابقة الأحرف التي يتم عادةً ترميزها باستخدام URI، أدرِج النموذج الأولي (غير المرمّز) في قيمة السمة. على سبيل المثال،
<data android:query="test!" />تطابق?test!و?test%21.تم طرحها في المستوى 35 من واجهة برمجة التطبيقات.
android:mimeType- نوع وسائط MIME، مثل
image/jpegأوaudio/mpeg4-genericيمكن أن يكون النوع الفرعي هو حرف البدل النجمة (*) للإشارة إلى أنّ أي نوع فرعي مطابق.من الشائع أن يعرّف فلتر الأهداف عنصر
<data>يتضمّن السمةandroid:mimeTypeفقط.ملاحظة: تتطلّب مطابقة أنواع MIME في إطار عمل Android تطابقًا دقيقًا بين الأحرف الكبيرة والصغيرة، على عكس أنواع MIME الرسمية في RFC. نتيجةً لذلك، يجب دائمًا تحديد أنواع MIME باستخدام أحرف صغيرة.
- تم إدخال القدرة لأول مرة في:
- المستوى 1 من واجهة برمجة التطبيقات
- راجِع أيضًا:
<action><category>
<data>
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java و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 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]