הערה: במקרים מסוימים, ההרשאות שאתם מבקשים
עד <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>
- תיאור:
- ההגדרה קובעת הרשאת מערכת שהמשתמש צריך להעניק בשבילה
כדי שהאפליקציה תפעל בצורה תקינה. המשתמש מעניק הרשאות כאשר
התקנות של אפליקציות במכשירים עם 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 ומטה. אז אתם יכולים להצהיר נדרשת הרשאה רק עד רמת API 18, עם הצהרה כמו:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
בדרך הזו, החל מרמת API 19, המערכת לא מעניקה יותר לאפליקציה את ההרשאה
WRITE_EXTERNAL_STORAGE
.נוסף ברמת API 19.
- הושקו ב:
- רמת API 1
- למידע נוסף: