<הרשאה>

תחביר:
<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>
תיאור:
מצהיר על הרשאת אבטחה שמשמשת כדי להגביל את הגישה לרכיבים או לתכונות מסוימים של האפליקציה הזו או של אפליקציה אחרת. למידע נוסף על אופן הפעולה של ההרשאות, אפשר לעיין בקטע הרשאות בסקירה הכללית של קובץ המניפסט של האפליקציה ובטיפים בנושא אבטחה.
:
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". הוצא משימוש ב-API רמה 23.

הרשאה שהמערכת מעניקה רק לאפליקציות בתיקייה ייעודית בתמונה של מערכת Android או חתומה עם אותו אישור כמו האפליקציה שהצהרה על הרשאה. עדיף להימנע משימוש באפשרות הזאת, כי "signature" רמת ההגנה מספיקה לרוב הצרכים, ופועלת ללא קשר של המקומות שבהם מותקנות האפליקציות.

ההרשאה "signatureOrSystem" משמשת לפעולות מיוחדות במצבים שבהם למספר ספקים יש אפליקציות שמובנות במערכת. צריך לשתף תכונות ספציפיות בצורה מפורשת, כי שנבנית ביחד.

הושקו ב:
רמת API 1
למידע נוסף:
<uses-permission>
<permission-tree>
<permission-group>