- بناء الجملة:
<path-permission android:path="string" android:pathPrefix="string" android:pathPattern="string" android:permission="string" android:readPermission="string" android:writePermission="string" />
- الواردة في:
<provider>
- description:
- تحدِّد المسار والأذونات المطلوبة لمجموعة فرعية معيّنة من البيانات. داخل موفّر المحتوى يمكن أن يكون هذا العنصر تم تحديدها عدة مرات لتوفير مسارات متعددة.
- :
android:path
- مسار معرّف موارد منتظم (URI) كامل لمجموعة فرعية من بيانات موفّر المحتوى.
لا يمكن منح الإذن إلا للبيانات المعيّنة التي يتم تحديدها في هذا المسار.
عند استخدامه لتقديم محتوى مقترَح البحث، يتم إلحاقه
مع
/search_suggest_query
. android:pathPrefix
- الجزء الأولي من مسار معرّف الموارد المنتظم (URI) لمجموعة فرعية من بيانات موفّر المحتوى. يمكن منح الإذن لجميع مجموعات البيانات الفرعية التي تتضمّن مسارات تشترك في هذا الجزء الأولي.
android:pathPattern
- مسار معرّف موارد منتظم (URI) كامل لمجموعة فرعية من بيانات موفّر المحتوى
ولكن يمكنه استخدام أحرف البدل التالية:
- علامة النجمة (
*
) يتطابق هذا مع تسلسل صفر إلى العديد من تكرارات الحرف السابق مباشرةً. - نقطة تليها علامة النجمة (
.*
). وهذا يتطابق مع أي تسلسل صفر أو أكثر من الأحرف.
لأنّ الشرطة المائلة للخلف (
\
) تُستخدم كحرف إلغاء عند قراءة السلسلة من XML، يجب تخطي علامة الجمع قبل أن يتم تحليلها كنمط. على سبيل المثال، تتم كتابة الحرف*
على النحو التالي "\\*
" و تتم كتابة\
الحرفية كـ "\\\
". هذا هو هو نفس ما تكتبه إذا قمت بإنشاء السلسلة بلغة برمجة Java.لمزيد من المعلومات حول هذه الأنواع من الأنماط، يمكنك الاطلاع على أوصاف
PATTERN_LITERAL
،PATTERN_PREFIX
وPATTERN_SIMPLE_GLOB
فيPatternMatcher
. - علامة النجمة (
android:permission
- اسم الإذن الذي يحتاجه العملاء لقراءة أو كتابة
لبيانات موفر المحتوى. وهذه السمة هي طريقة ملائمة لضبط
إذن واحد للقراءة والكتابة. ومع ذلك،
readPermission
و سماتwritePermission
لها الأولوية أكثر من هذا. android:readPermission
- إذن يحتاجه العملاء لإجراء طلب بحث عن موفّر المحتوى.
android:writePermission
- إذن يحتاجه العملاء لإجراء تغييرات على البيانات التي يتحكّم بها موفّر المحتوى.
- تم تقديمها في:
- المستوى 4 من واجهة برمجة التطبيقات
- راجِع أيضًا:
SearchManager
Manifest.permission
- نصائح الأمان
<path-permission>
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# <path-permission\u003e\n\nsyntax:\n:\n\n ```xml\n \u003cpath-permission android:path=\"string\"\n android:pathPrefix=\"string\"\n android:pathPattern=\"string\"\n android:permission=\"string\"\n android:readPermission=\"string\"\n android:writePermission=\"string\" /\u003e\n ```\n\ncontained in:\n: [\u003cprovider\u003e](/guide/topics/manifest/provider-element)\n\ndescription:\n: Defines the path and required permissions for a specific subset of data\n within a content provider. This element can be\n specified multiple times to supply multiple paths.\n\nattributes:\n:\n\n `android:path`\n : A complete URI path for a subset of content provider data.\n Permission can be granted only to the particular data identified by this path.\n When used to provide search suggestion content, it is appended\n with `/search_suggest_query`.\n\n `android:pathPrefix`\n : The initial part of a URI path for a subset of content provider data.\n Permission can be granted to all data subsets with paths that share this initial part.\n\n `android:pathPattern`\n : A complete URI path for a subset of content provider data,\n but one that can use the following wildcards:\n\n - An asterisk (`*`). This matches a sequence of zero to many occurrences of the immediately preceding character.\n - A period followed by an asterisk (`.*`). This matches any sequence of zero or more characters.\n\n\n Because the backslash (`\\`) is used as an escape character when the string is read\n from XML, before it is parsed as a pattern, you need to double-escape.\n For example, a literal `*` is written as \"`\\\\*`\" and a\n literal `\\` is written as \"`\\\\\\`\". This is\n the same as what you write if constructing the string in the Java programming language.\n\n\n For more information about these types of patterns, see the descriptions of\n [`PATTERN_LITERAL`](/reference/android/os/PatternMatcher#PATTERN_LITERAL),\n [`PATTERN_PREFIX`](/reference/android/os/PatternMatcher#PATTERN_PREFIX), and\n [`PATTERN_SIMPLE_GLOB`](/reference/android/os/PatternMatcher#PATTERN_SIMPLE_GLOB) in the\n [`PatternMatcher`](/reference/android/os/PatternMatcher) class.\n\n `android:permission`\n : The name of a permission that clients need in order to read or write the\n content provider's data. This attribute is a convenient way of setting a\n single permission for both reading and writing. However, the\n `readPermission` and\n `writePermission` attributes take precedence\n over this one.\n\n `android:readPermission`\n : A permission that clients need in order to query the content provider.\n\n `android:writePermission`\n : A permission that clients need in order to make changes to the data controlled by the content provider.\n\nintroduced in:\n: API level 4\n\nsee also:\n: [SearchManager](/reference/android/app/SearchManager)\n: [Manifest.permission](/reference/android/Manifest.permission)\n: [Security tips](/guide/topics/security/security)"]]