<uses-permission>
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
توجه: در برخی موارد، مجوزهایی که از طریق <uses-permission>
درخواست میکنید میتوانند بر نحوه فیلتر کردن برنامه شما توسط Google Play تأثیر بگذارند. اگر مجوز مربوط به سختافزار مانند CAMERA
را درخواست کنید، Google Play فرض میکند که برنامه شما به ویژگی سختافزاری نیاز دارد و برنامه را از دستگاههایی که آن را ارائه نمیدهند فیلتر میکند.
برای کنترل فیلتر کردن، همیشه ویژگیهای سختافزاری را بهصراحت در عناصر <uses-feature>
اعلام کنید، نه اینکه برای "کشف" الزامات در عناصر <uses-permission>
به Google Play متکی باشید. سپس، اگر میخواهید فیلتر کردن را برای یک ویژگی خاص غیرفعال کنید، میتوانید یک ویژگی android:required="false"
را به اعلان <uses-feature>
اضافه کنید.
برای فهرستی از مجوزهایی که دلالت بر ویژگی های سخت افزاری دارند، به مستندات عنصر <uses-feature>
مراجعه کنید.
- نحو:
<uses-permission android:name="string"
android:maxSdkVersion="integer" />
- موجود در:
-
<manifest>
- توضیحات:
- یک مجوز سیستمی را مشخص می کند که کاربر باید برای عملکرد صحیح برنامه به آن اعطا کند. کاربر هنگام نصب برنامه، در دستگاههای دارای Android نسخه 5.1 و پایینتر، یا زمانی که برنامه اجرا میشود، در دستگاههای دارای Android نسخه 6.0 و بالاتر، مجوز میدهد.
برای اطلاعات بیشتر در مورد مجوزها، به بخش مجوزها در نمای کلی مانیفست برنامه و راهنمای مجوزها در Android مراجعه کنید. فهرستی از مجوزهای تعریف شده توسط پلتفرم پایه در android.Manifest.permission
است.
- صفات:
-
android:name
- نام مجوز. این می تواند مجوزی باشد که توسط برنامه با عنصر
<permission>
تعریف شده است، مجوزی که توسط برنامه دیگری تعریف شده است، یا یکی از مجوزهای استاندارد سیستم، مانند "android.permission.CAMERA"
یا "android.permission.READ_CONTACTS"
باشد. همانطور که این مثال ها نشان می دهند، نام مجوز معمولاً شامل نام بسته به عنوان پیشوند است. -
android:maxSdkVersion
- بالاترین سطح API که در آن این مجوز به برنامه شما اعطا می شود. تنظیم این ویژگی در صورتی مفید است که مجوزی که برنامه شما به آن نیاز دارد دیگر در سطح API خاصی مورد نیاز نباشد.
به عنوان مثال، با شروع Android 4.4 (سطح API 19) دیگر لازم نیست برنامه شما مجوز WRITE_EXTERNAL_STORAGE
را برای نوشتن در فهرستهای ویژه برنامه خود در حافظه خارجی، که توسط getExternalFilesDir()
ارائه میشود، درخواست کند.
با این حال، مجوز برای سطح API 18 و پایین تر مورد نیاز است . بنابراین میتوانید اعلام کنید که این مجوز فقط تا سطح 18 API مورد نیاز است با یک اعلان مانند زیر:
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
به این ترتیب، با شروع API سطح 19، سیستم دیگر مجوز WRITE_EXTERNAL_STORAGE
را به برنامه شما نمی دهد.
در سطح 19 API اضافه شده است.
- معرفی شده در:
- API سطح 1
- همچنین ببینید:
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-29 بهوقت ساعت هماهنگ جهانی."],[],[],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)"]]