توجه: در برخی موارد، مجوزهایی که از طریق <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
- همچنین ببینید: