PracticU

הסבר על הרשאות על אנדרואיד

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA › הסבר על הרשאות על אנדרואיד
מילון מושגים:
הרשאה - קביעה אילו פעולות ומשאבים מותרים למשתמש או לתהליך לאחר שזהותו אומתה. שולטת במי רשאי לעשות מה.
Android - מערכת הפעלה מבוססת Linux לטלפונים ולמכשירים ניידים, שפותחה על ידי גוגל.
API - ממשק תכנותי שמגדיר כיצד תוכנה אחת פונה לאחרת ומחליפה איתה נתונים ופעולות.
Wi-Fi - טכנולוגיה לחיבור מכשירים לרשת ולאינטרנט באופן אלחוטי, בעזרת גלי רדיו.

הסבר על הרשאות על אנדרואיד
ההרצאה מסבירה איך אנדרואיד מחלק הרשאות לרמות, ואיך הטיפול בהן בקוד משתנה לפי גרסת המערכת של המשתמש.
איך זה עובד
1. Normal permission: הרשאה שנחשבת בלי סכנה מיוחדת לפרטיות, למשל ויברציה, שינוי ה-wallpaper או הרחבת ה-status bar. המערכת מאשרת אותה אוטומטית בזמן ההתקנה, לא שואלת את המשתמש, והמשתמש לא יכול לבטל אותה.
2. Dangerous permission: הרשאה שנוגעת במידע אישי או במידע של אפליקציות אחרות, כמו קריאת contacts, מצב הטלפון, שליחה וקבלה של SMS. המשתמש חייב לאשר אותה במפורש.
3. לפני Android 6 (API 23, Marshmallow): עד Lollipop (API 22) כל ה-Dangerous Permissions מוצגים בזמן ההתקנה. המשתמש מאשר את כולם או לא מתקין, ואחרי ההתקנה אי אפשר לבטל. למתכנת מספיק להגדיר אותן ב-manifest.
4. מ-Marshmallow והלאה: בזמן ההתקנה לא מוצגת שום הרשאה, וכל Dangerous Permission מאושרת בזמן הריצה, בנפרד לכל הרשאה. צריך לבקש אותה גם ב-manifest וגם בקוד, ולטפל גם באישור וגם בסירוב.
5. ביטול על ידי המשתמש: ב-Settings של האפליקציה אפשר לבטל הרשאה שניתנה, למשל מצלמה.
6. קבוצות: כל Dangerous Permission שייכת לקבוצה. אישור של אחת מהן מאשר את כל הקבוצה, למשל Read Contacts, Write Contacts ו-Get Accounts שייכות לקבוצת Contacts.
רשימות ההרשאות
ברשימת ה-Normal Permissions יש בין היתר בלוטוס, Wi-Fi, אינטרנט, התקנת קיצור דרך, ויברציה ושעון מעורר. ברשימת ה-Dangerous Permissions יש יומן, מצלמה, contacts, אודיו, טלפון ו-SMS.
שימו לב
אי אפשר לבנות היום אפליקציה רק ל-Lollipop ומטה, ולכן מתייחסים ל-workflow החדש, כאילו למשתמש יש Marshmallow ומעלה.
בהרצאות הבאות רואים את הטיפול ב-Normal וב-Dangerous Permissions, גם במכשיר לפני Marshmallow וגם ב-Marshmallow ומעלה.
השיעור הבא בקורס: הרשאות רגילות על אנדרואיד

פרקי ההרצאה: הסבר על הרשאות על אנדרואיד

  1. 00:00

    רמות הגנה של Permissions

  2. 00:38

    מהו Normal Permission

  3. 01:36

    מהו Dangerous Permission

  4. 02:31

    שני סוגי Permission Workflow

  5. 03:28

    אישור הרשאות לפני Marshmallow

  6. 05:01

    אישור הרשאות בזמן ריצה ממרשמלו

תמלול ההרצאה: הסבר על הרשאות על אנדרואיד

הטקסט המלא של הדקות הראשונות בהרצאה «הסבר על הרשאות על אנדרואיד» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    אנחנו מגיעים לנושא שהשתמשנו איתו פה ושם בכל מיני סרטונים קודמים, אבל אנחנו הולכים לראות כל מיני דברים נוספים בנוגע אליו ולהיכנס איתו קצת יותר לעומק.

  2. 00:15

    הנושא הזה זהו נושא ה-permissions. דבר ראשון אנחנו צריכים להכיר מונח שנקרא permission level. ל-permission יש אחד מסדרת פרוטקשן לבלס.

  3. 00:31

    למעשה יש שני פרוטקשן לבלס מרכזיים. פרוטקשן לבל אחד נקרא Normal Permission ופרוטקשן לבל שני נקרא Dangerous Permission. קודם כל בואו נבין מה זה Normal Permission.

  4. 00:48

    Normal Permission או Normal Protection זה בעצם Permissions שאומרים שאין בעצם כל כך סכנה למידע פרטי או לאבטחה של היוזר כאשר האפליקציה משתמשת בפרמישן כזה. דוגמאות יכולות להיות אפשרות לביצוע ויברציה עבור המכשיר, Vibrating the Device, שינוי ה-Wallpaper של המכשיר, ביצוע הרחבה כלשהי ל-Status Bar וכדומה.

  5. 01:21

    אם האפליקציה שלנו אומרת שהיא צריכה פרמישן שנחשב Normal Permission, אז המערכת אוטומטית מאשרת את הפרמישן הזה והאפליקציה שלנו אוטומטית מקבלת את הפרמישן הזה וזה מתבצע בזמן ההתקנה.

  6. 01:37

    המערכת לא שואלת את היוזר האם הוא מאשר או לא מאשר Normal Permissions והמשתמש לא יכול להחזיר בחזרה את ההרשאה הזאת שניתנה עבור Normal Permissions.

  7. 01:52

    מה זה Dangerous Permissions? אלו permissions שכרוכים במידע אישי של הלקוח או בשינוי מידע שנשמר לו במכשיר או בשינוי מידע של אפליקציות אחרות.

  8. 02:08

    דוגמאות יכולות להיות קריאת ה-contacts של היוזר, זה משהו אישי שלו, קריאת המצב של הטלפון, כלומר קבלת שיחות או מתי יש צלצול או הוצאת שיחות, שימוש באסמאסים, כלומר שליחת אסמאס או כמובן גם קבלת אסמאס וכדומה.

  9. 02:30

    אם האפליקציה שלנו אומרת שהיא צריכה דנג'רס פרמישן, לדוגמה אם אנחנו כן רוצים לשלוח אסמאס באפליקציה, היוזר חייב בצורה מפורשת לאשר את זה. איך אנחנו בעצם עובדים עם הפרמישנס?

  10. 02:45

    פרמישן וורקפלואו. פרמישן וורקפלואו זה בעצם הצורה שבה אנחנו מבקשים פרמישנס, מבקשת Permissions ואיך אנחנו מטפלים בפרמישנס האלה בקוד.

  11. 02:58

    יש שני Permission Workflows וזה תלוי בגרסת האנדרואיד. לפני אנדרואיד 6, כלומר גרסת API 23, מה נקרא מרשמלו, היה Permission Workflow 1, ניהול בצורה ספציפית ומסוימת של הפרמישנס, וזה בעצם היה עד וכולל לולי פופ.

  12. 03:19

    לולי פופ זאת הגרסה שהייתה לפני מרשמלו, זה היה API Level 22, אנדרואיד 5 ומשהו. וה-Permission Workflow השני היה מ-Marshmallow ועד היום.

  13. 03:33

    איך אנחנו עובדים עם ה-Permissions לפני Marshmallow? אז אם ליוזר יש מערכת הפעלה אנדרואיד שהיא לפני Marshmallow, אז מה שקורה זה שאנחנו בעצם מבקשים את ה-Permissions, את ה-Dangerous Permissions, בזמן ההתקנה.

  14. 03:51

    כאשר היוזר מתקין את האפליקציה, אם יש לו לולי פאפ או גרסה ישנה יותר בזמן ההתקנה מוצגות לו רשימה של כל הדנג'רס פרמישנס והוא צריך לאשר את זה או לא לאשר.

  15. 04:04

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

  16. 04:26

    לכן, אם האפליקציה שלנו רצה, זה אומר שקיבלנו אישור להשתמש בכל ה-permissions שאנחנו רוצים, זה כמובן אם יש לו גרסת לליפאפ ומטה.

  17. 04:38

    זה מאוד נוח עבורנו בתור מתכנתים, כי כל מה שהיינו צריכים לעשות זה להגדיר את ה-permissions ברמת ה-manifest וזהו. אנחנו עושים את זה כמובן גם על permissions שנחשבים normal וגם על permissions שנחשבים dangerous.

  18. 04:52

    במצב כזה היוזר לא יכול לבטל פרמישן אחרי שהאפליקציה הותקנה ורצה, כמובן אם יש לו לליפאפ וגרסה ישנה יותר. מה קורה ממרשמלו והלאה? כל פרמישן שנחשב דנג'רס פרמישן, היוזר חייב לאשר אותם בזמן הריצה של האפליקציה.

  19. 05:19

    בזמן ההתקנה של האפליקציה לא מוצגות ליוזר יותר שום פרמישנס לאישור. זה מאפשר ליוזר לאשר Permissions באופן ספציפי. לדוגמה הוא יכול לאשר Permission מסוים אבל לא לאשר Permission אחר.

  20. 05:35

    הוא לא מאשר את כולם ככלל או מבטל את כולם ככלל. עכשיו זה כמובן הרבה יותר מורכב לנו בתור מתכנתים כי מעבר לנקודה שאנחנו חייבים לבקש את ה-Permissions האלה ברמת המניפסט אנחנו חייבים לבקש אותם גם בזמן הריצה ויותר מורכב מזה יהיה כמובן לטפל במצב שאנחנו מקבלים אישור או לא מקבלים אישור

  21. 06:02

    עבור permissions ספציפיים במהלך ריצת האפליקציה. אנחנו צריכים עכשיו לטפל בשני מצבים במהלך ריצת האפליקציה.

לקורס המלא: קורס פיתוח אפליקציות לאנדרואיד

ההרצאה הקודמת: Device Shake

ההרצאה הבאה: הרשאות רגילות על אנדרואיד

הרצאות קשורות מקורסים אחרים

  • העלאת הרשאות - הסבר נוסף (חלק 1)
  • הרשאות גישה - Modifiers (הסבר נוסף)
  • הרשאות על קבצים - חלק 1
  • הרשאות NTFS

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון