Нова група дозволів в Android P пояснює, коли програми хочуть читати ваш журнал викликів або номери телефонів, щоб ви знали, що саме роблять програми.
Android Developer Preview 3 (Android P Beta 2) просто впав, а разом з ним і низка змін — переважно під капотом. Хоча є деякі зміни, спрямовані на користувачів, майже всі зміни готуються до остаточного випуску. Найбільшою частиною оновлення є завершені API, що означає, що тепер ви можете створювати програму, націлену на API 28, Android P. У Developer Preview 3 додано нову групу дозволів. Ця група дозволів стосується саме журналу викликів Android, тобто коли програма хоче прочитати ваш журнал викликів або номери телефонів, відображатиметься помітне повідомлення користувача, у якому буде вказано, який саме тип доступу вони надають додатку.
По-перше, це нові рядки, які користувач побачить, коли запитується будь-який дозвіл у новій групі дозволів 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>
Як це вплине на існуючі програми? Android використовує групування дозволів для дозволів, позначених як «небезпечні», щоб керувати рівнем доступу, наданим програмі, і вибирати повідомлення, яке відображатиметься користувачеві. Раніше 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