קבוצת הרשאות חדשה ב-Android P מבהירה מתי אפליקציות רוצות לקרוא את יומן השיחות או מספר הטלפון

קבוצת הרשאות חדשה ב-Android P מבהירה מתי אפליקציות רוצות לקרוא את יומן השיחות או מספרי הטלפון שלך כדי שתדע מה בדיוק האפליקציות עושות.

Android Developer Preview 3 (Android P Beta 2) פשוט ירד, ואיתו מגיעים מספר שינויים - בעיקר מתחת למכסה המנוע. אמנם יש כמה שינויים הפונים למשתמש, אבל כמעט כל השינויים הם לקראת המהדורה הסופית. החלק הגדול ביותר של העדכון הוא ממשקי ה-API הסופיים, מה שאומר שאתה יכול לבנות אפליקציה שמכוונת כעת ל-API 28, Android P. בתצוגה מקדימה של מפתחים 3, נוספה קבוצת הרשאות חדשה. קבוצת הרשאות זו מתייחסת ספציפית ליומן השיחות של אנדרואיד, כלומר כאשר אפליקציה רוצה לקרוא את יומן השיחות שלך או מספרי טלפון, תוצג הודעה בולטת הפונה למשתמש שאומרת להם בדיוק איזה סוג גישה הם מעניקים לאפליקציה.

ראשית, אלו הן המחרוזות החדשות שמשתמש יראה כאשר תתבקש הרשאה כלשהי בקבוצת ההרשאות החדשה CALL_LOG.

<stringname="permgroupdesc_calllog">read and write phone call logstring>
<stringname="permgrouprequest_calllog">Allow <b>%1$s</b> to access your phone call logs?string>
תיבת ההרשאה שהופיעה בעת בקשת READ_CALL_LOG, שהייתה בעבר תחת קבוצת ההרשאות PHONE.

איך זה ישפיע על אפליקציות קיימות? אנדרואיד משתמשת בקיבוץ הרשאות עבור הרשאות המסומנות כ"מסוכנות" כדי לנהל את רמת הגישה הניתנת לאפליקציה ולבחור את ההודעה שתוצג למשתמש. בעבר, READ_CALL_LOG והרשאות אחרות הקשורות ליומן שיחות הוצגו כחלק מהשיח הכללי של "גישה לתכונות הטלפון של המכשיר", אך ההודעה הזו מעורפלת ביותר. לא רק זה, אפשר לטעון שזה לא רלוונטי ליומן השיחות של המכשיר שלך. Android P Developer Preview 3 איגד מחדש את כל ההרשאות הקשורות ליומן השיחות לקבוצה חדשה לגמרי נקרא כראוי CALL_LOG כך שהודעה מתאימה יותר תופיע כאשר אפליקציה מבקשת זה.

יישומים יצטרכו לבקש במפורש את ההרשאות CALL_LOG, READ_CALL_LOG, WRITE_CALL_LOG או PROCESS_OUTGOING_CALLS מה- קבוצת CALL_LOG אם הם צריכים לגשת ליומן השיחות או לעבד שיחות יוצאות, על פי תיעוד התצוגה המקדימה של מפתח Android P. כמו כן, מפתחים יצטרכו לקחת בחשבון מתי המשתמש מונע מהאפליקציה גישה לפרטי יומן שיחות.

אתה יכול גם לבדוק את קיבוץ ההרשאות החדש שנלקח מ-Android Framework שפורק להלן.

<permission-groupandroid: description="@string/permgroupdesc_calllog"android: icon="@drawable/perm_group_phone_calls"android: label="@string/permgrouplab_calllog"android: name="android.permission-group.CALL_LOG"android: priority="450"android: request="@string/permgrouprequest_calllog"/>
<permissionandroid: description="@string/permdesc_accessImsCallService"android: label="@string/permlab_accessImsCallService"android: name="android.permission.ACCESS_IMS_CALL_SERVICE"android: protectionLevel="privileged|signature"/>
<permissionandroid: description="@string/permdesc_readCallLog"android: label="@string/permlab_readCallLog"android: name="android.permission.READ_CALL_LOG"android: permissionGroup="android.permission-group.CALL_LOG"android: protectionLevel="dangerous"/>
<permissionandroid: description="@string/permdesc_writeCallLog"android: label="@string/permlab_writeCallLog"android: name="android.permission.WRITE_CALL_LOG"android: permissionGroup="android.permission-group.CALL_LOG"android: protectionLevel="dangerous"/>
<permissionandroid: description="@string/permdesc_processOutgoingCalls"android: label="@string/permlab_processOutgoingCalls"android: name="android.permission.PROCESS_OUTGOING_CALLS"android: permissionGroup="android.permission-group.CALL_LOG"android: protectionLevel="dangerous"/>

מקור: תיעוד מפתחים של Android P