<uses-permission>
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
ملاحظة: في بعض الحالات، قد تحتاج الأذونات التي تطلبها
إلى <uses-permission>
إلى كيفية فلترة Google Play
التطبيق. فإذا طلبت إذنًا يتعلق بالأجهزة، مثل
CAMERA
، يفترض Google Play أن
التطبيق يتطلب ميزة الأجهزة الأساسية ويقوم بتصفية التطبيق
من الأجهزة التي لا توفر هذه الميزة
للتحكّم في الفلترة، عليك الإفصاح بشكل صريح دائمًا.
ميزات الأجهزة في عناصر <uses-feature>
، بدلاً من
والاعتماد على Google Play "لاكتشاف" المتطلبات في
<uses-permission>
من العناصر. بعد ذلك، إذا كنت تريد تعطيل
لميزة معينة، يمكنك إضافة
android:required="false"
إلى سمة
بيان <uses-feature>
.
للحصول على قائمة بالأذونات التي تشير ضمنًا
ميزات الأجهزة، اطلع على وثائق
العنصر <uses-feature>
.
- بناء الجملة:
<uses-permission android:name="string"
android:maxSdkVersion="integer" />
- الواردة في:
<manifest>
- description:
- تحديد إذن نظام يجب أن يمنحه المستخدم
التطبيق ليعمل بشكل صحيح. يمنح المستخدم الأذونات عندما
التطبيقات المثبّتة على أجهزة Android التي تعمل بالإصدار 5.1 والإصدارات الأقدم من نظام التشغيل Android أو أثناء تشغيل التطبيق على أجهزة تعمل بالإصدار 6.0 من نظام التشغيل Android والإصدارات الأحدث.
لمزيد من المعلومات عن الأذونات، يمكنك الاطّلاع على
الأذونات
في النظرة العامة على بيان التطبيق
دليل الأذونات على Android.
في ما يلي قائمة الأذونات التي يحدّدها النظام الأساسي الأساسي
android.Manifest.permission
- :
android:name
- اسم الإذن: قد يكون إذنًا يتم تحديده من خلال
تطبيق مزوّد بـ
<permission>
عنصر أو إذن يحدده تطبيق آخر أو إحدى
أذونات النظام القياسية، مثل
"android.permission.CAMERA"
أو "android.permission.READ_CONTACTS"
. كما توضح هذه الأمثلة،
عادةً ما يتضمن اسم الإذن اسم الحزمة كبادئة.
android:maxSdkVersion
- أعلى مستوى لواجهة برمجة تطبيقات يتم فيه منح هذا الإذن لتطبيقك
يكون ضبط هذه السمة مفيدًا إذا لم يعد الإذن الذي يتطلبه تطبيقك مطلوبًا بدءًا
على مستوى معيّن لواجهة برمجة التطبيقات.
على سبيل المثال، بدءًا من Android 4.4 (المستوى 19 من واجهة برمجة التطبيقات)، لم يعد من الضروري لتطبيقك بعد الآن
لطلب WRITE_EXTERNAL_STORAGE
إذنًا بالكتابة إلى الأدلة الخاصة بالتطبيقات على وحدة التخزين الخارجية، وهي
مقدمة من getExternalFilesDir()
.
ومع ذلك،
إذا كان الإذن مطلوبًا للمستوى 18 من واجهة برمجة التطبيقات والمستويات الأدنى. لذا يمكنك أن تعلن أن هذا
ولا يجب استخدام هذا الإذن إلا في المستوى 18 من واجهة برمجة التطبيقات مع تقديم بيان مثل ما يلي:
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
بهذه الطريقة، بدءًا من المستوى 19 لواجهة برمجة التطبيقات، لم يعُد النظام يمنح تطبيقك
إذن WRITE_EXTERNAL_STORAGE
.
تمّت إضافتها في المستوى 19 من واجهة برمجة التطبيقات
- تم تقديمها في:
- المستوى 1 من واجهة برمجة التطبيقات
- راجِع أيضًا:
-
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ 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,["# <uses-permission\u003e\n\n**Note:** In some cases, the permissions that you request\nthrough `\u003cuses-permission\u003e` can affect how Google Play filters your\napplication. If you request a hardware-related permission, such as\n`CAMERA`, Google Play assumes that your\napplication requires the underlying hardware feature and filters the application\nfrom devices that don't offer it.\n\nTo control filtering, always explicitly declare\nhardware features in `\u003cuses-feature\u003e` elements, rather than\nrelying on Google Play to \"discover\" the requirements in\n`\u003cuses-permission\u003e` elements. Then, if you want to disable\nfiltering for a particular feature, you can add a\n`android:required=\"false\"` attribute to the\n`\u003cuses-feature\u003e` declaration.\n\nFor a list of permissions that imply\nhardware features, see the documentation for the [`\u003cuses-feature\u003e`](/guide/topics/manifest/uses-feature-element#permissions-features) element.\n\nsyntax:\n:\n\n ```xml\n \u003cuses-permission android:name=\"string\"\n android:maxSdkVersion=\"integer\" /\u003e\n ```\n\ncontained in:\n: [\u003cmanifest\u003e](/guide/topics/manifest/manifest-element)\n\ndescription:\n\n: Specifies a system permission that the user must grant for the app to operate correctly. The user grants permissions when the application installs, on devices running Android 5.1 and lower, or while the app runs, on devices running Android 6.0 and higher.\u003cbr /\u003e\n\n\n For more information on permissions, see the\n [Permissions](/guide/topics/manifest/manifest-intro#perms)\n section in the app manifest overview and the\n [Permissions on Android](/guide/topics/permissions) guide.\n A list of permissions defined by the base platform is at\n [android.Manifest.permission](/reference/android/Manifest.permission).\n\nattributes:\n:\n\n `android:name`\n : The name of the permission. It can be a permission defined by the\n application with the [\u003cpermission\u003e](/guide/topics/manifest/permission-element)\n element, a permission defined by another application, or one of the\n standard system permissions, such as\n [\"android.permission.CAMERA\"](/reference/android/Manifest.permission#CAMERA)\n or [\"android.permission.READ_CONTACTS\"](/reference/android/Manifest.permission#READ_CONTACTS). As these examples show,\n a permission name typically includes the package name as a prefix.\n\n `android:maxSdkVersion`\n\n : The highest API level at which this permission is granted to your app. Setting this attribute is useful if the permission your app requires is no longer needed beginning at a certain API level.\u003cbr /\u003e\n\n For example, beginning with Android 4.4 (API level 19) it's no longer necessary for your app\n to request the [WRITE_EXTERNAL_STORAGE](/reference/android/Manifest.permission#WRITE_EXTERNAL_STORAGE)\n permission to write to its own application-specific directories on external storage, which are\n provided by [getExternalFilesDir()](/reference/android/content/Context#getExternalFilesDir(java.lang.String)).\n\n However,\n the permission *is required* for API level 18 and lower. So you can declare that this\n permission is needed only up to API level 18 with a declaration like the following: \n\n ```xml\n \u003cuses-permission\n android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"\n android:maxSdkVersion=\"18\" /\u003e\n ```\n\n This way, beginning with API level 19, the system no longer grants your app the\n `WRITE_EXTERNAL_STORAGE` permission.\n\n Added in API level 19.\n\nintroduced in:\n: API level 1\n\nsee also:\n:\n - [\u003cpermission\u003e](/guide/topics/manifest/permission-element)\n - [`\u003cuses-permission-sdk-23\u003e`](/guide/topics/manifest/uses-permission-sdk-23-element)\n - [\u003cuses-feature\u003e](/guide/topics/manifest/uses-feature-element)"]]