Новая группа разрешений в Android P дает понять, когда приложения хотят прочитать ваш журнал вызовов или номера телефонов, чтобы вы знали, что именно приложения делают.
Предварительная версия Android Developer 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.