<إذن>

بناء الجملة:
<permission android:description="string resource"
            android:icon="drawable resource"
            android:label="string resource"
            android:name="string"
            android:permissionGroup="string"
            android:protectionLevel=["normal" | "dangerous" |
                                     "signature" | ...] />
الواردة في:
<manifest>
description:
أعلن عن إذن أمان يُستخدم من أجل تقييد الوصول إلى مكونات أو ميزات معينة لهذا التطبيق أو التطبيقات الأخرى. لمزيد من المعلومات حول كيفية عمل الأذونات، يُرجى الاطّلاع على قسم الأذونات في النظرة العامة على بيان التطبيق ونصائح الأمان.
:
android:description
وصف سهل القراءة للمستخدم للإذن أطول وأكثر مفيدة أكثر من التسمية. وقد تعرض، على سبيل المثال، لشرح الإذن الممنوح للمستخدم عندما يُطلب منه ذلك لمنح الإذن لتطبيق آخر.

تم تعيين هذه السمة كمرجع لمورد السلسلة. وعلى عكس السمة label، لا يمكن أن تكون سلسلة أولية.

android:icon
إشارة إلى مورد قابل للرسم لرمز يمثّل إذن.
android:label
اسم للإذن سهل القراءة للمستخدم.

ولتسهيل الأمر، يمكن ضبط التصنيف مباشرةً كسلسلة أولية أثناء تطوير التطبيق. ومع ذلك، عندما يكون التطبيق جاهزًا للنشر، يمكنك ضبطه مرجعًا لمورد سلسلة، بحيث يمكن ترجمته مثل غيرها السلاسل في واجهة المستخدم.

android:name
الاسم الذي سيتم استخدامه في رمز للإشارة إلى الإذن، كما هو الحال في <uses-permission> أو العنصر permission سمات مكونات التطبيق.

ملاحظة: لا يسمح النظام بالإفصاح عن حزم متعدّدة. إذن بالاسم نفسه ما لم يتم توقيع جميع الحزم باستخدام الشهادة نفسها. إذا أعلنت حزمة عن إذن، لا يسمح النظام بذلك. المستخدِم بتثبيت حِزم أخرى باسم الإذن نفسه، ما لم يتم توقيع هذه الحزم بنفس الشهادة مثل الحزمة الأولى.

لهذا السبب، تنصح Google باستخدام بادئة أذونات باسم حزمة التطبيق، باستخدام تسمية نمط النطاق العكسي. اتّبِع هذه البادئة مع .permission.، ثم وصف الذي يمثله الإذن في الجزء العلوي من SNAKE_CASE. مثل: com.example.myapp.permission.ENGAGE_HYPERSPACE

يؤدي اتباع هذه التوصية إلى تجنب تسمية التضاربات والمساعدة في تحديد المالك بوضوح الإذن المخصّص وهدفه

android:permissionGroup
يعيّن هذا الإذن إلى مجموعة. قيمة هذه السمة هي باسم المجموعة، والذي يتم الإعلان عنه باستخدام العنصر <permission-group> في هذه المشاركة أو تطبيقًا آخر. إذا لم يتم ضبط هذه السمة، سيتم منح الإذن لا ينتمي إلى مجموعة.
android:protectionLevel

يصف المخاطر المحتملة الضمنية في الإذن تشير إلى الإجراء الذي ينبغي أن يتبعه النظام عند تحديد ما إذا كان يتم منح الإذن لتطبيق يطلبه أم لا.

يتألّف كل مستوى حماية من نوع إذن أساسي وصفر أو أكثر. الأعلام. على سبيل المثال، لا يحتوي مستوى الحماية "dangerous" على أي الأعلام. في المقابل، مستوى الحماية "signature|privileged" هو مزيج من نوع الإذن الأساسي "signature" علم "privileged"

يعرض الجدول التالي جميع أنواع الأذونات الأساسية. للحصول على قائمة بالعلامات، راجع protectionLevel

القيمة المعنى
"normal" القيمة التلقائية. إذن منخفض الخطورة يمنح إمكانية وصول التطبيقات إلى ميزات معزولة على مستوى التطبيقات خطرًا بسيطًا على التطبيقات الأخرى أو النظام أو المستخدم. يمنح النظام هذا النوع تلقائيًا منح إذن للتطبيق المطلوب عند التثبيت، دون يطلب موافقة المستخدم الصريحة، على الرغم من أن المستخدم دائمًا خيار مراجعة هذه الأذونات قبل التثبيت.
"dangerous" يشير هذا المصطلح إلى إذن عالي الخطورة يتيح تقديم طلب. الوصول إلى بيانات المستخدم الخاصة أو التحكم في الجهاز الذي يمكنه تؤثر سلبًا على المستخدم. لأنّ هذا النوع من الأذونات إلى مخاطر محتملة، فقد لا يقوم النظام تلقائيًا ومنحه للتطبيق صاحب الطلب. على سبيل المثال، أي علامات قد يتم عرض الأذونات التي يطلبها التطبيق على المستخدم وتطلب تأكيدًا قبل المتابعة أو نهجًا متبعًا لتجنب منح المستخدم لاستخدام هذه المرافق.
"signature" إذن يمنحه النظام فقط إذا كان مقدّم الطلب تم توقيع التطبيق باستخدام الشهادة نفسها التي يستخدمها التطبيق التي أعلنت عن الإذن. في حال تطابُق الشهادتين، يتولى النظام يتم تلقائيًا منح الإذن بدون إشعار المستخدم لطلب موافقة صريحة من المستخدم.
"knownSigner" إذن يمنحه النظام فقط إذا كان مقدّم الطلب تم توقيع الطلب باستخدام مسموح به الشهادة. وإذا كانت شهادة مقدِّم الطلب مُدرجة، يفحص النظام يتم تلقائيًا منح الإذن بدون إشعار المستخدم لطلب موافقة صريحة من المستخدم.
"signatureOrSystem"

المرادف القديم لـ "signature|privileged". تم إيقافها في واجهة برمجة التطبيقات المستوى 23

إذن يمنحه النظام للتطبيقات التي في مجلد مخصص على صورة نظام Android أو التي بالشهادة نفسها التابعة للتطبيق الذي أعلن عن إذن. تجنَّب استخدام هذا الخيار، باعتباره "signature" مستوى الحماية كافٍ لمعظم الاحتياجات ويعمل بغضّ النظر التي تم تثبيت التطبيقات عليها.

تشير رسالة الأشكال البيانية يتم استخدام إذن "signatureOrSystem" لبعض أنواع الأذونات الخاصة. الحالات التي يكون فيها لدى العديد من الموردين تطبيقات مضمنة في النظام وتحتاج إلى مشاركة ميزات محددة بشكل صريح لأنها قيد الإنشاء معًا.

تم تقديمها في:
المستوى 1 من واجهة برمجة التطبيقات
راجِع أيضًا:
<uses-permission>
<permission-tree>
<permission-group>