Novo grupo de permissões no Android P deixa claro quando os aplicativos desejam ler o registro de chamadas ou o número de telefone

O novo grupo de permissões no Android P deixa claro quando os aplicativos desejam ler seu registro de chamadas ou números de telefone para que você saiba exatamente o que os aplicativos estão fazendo.

Visualização 3 do desenvolvedor Android (Android P Beta 2) acabei de cair, e com isso vem uma série de mudanças – principalmente nos bastidores. Embora existam algumas alterações voltadas para o usuário, quase todas as alterações estão em preparação para a versão final. A maior parte da atualização são as APIs finalizadas, o que significa que você pode criar um aplicativo agora direcionado à API 28, Android P. No Developer Preview 3, um novo grupo de permissões foi adicionado. Este grupo de permissões pertence especificamente ao registro de chamadas do Android, o que significa que quando um aplicativo deseja ler seu registro de chamadas ou números de telefone, uma mensagem em destaque voltada para o usuário será exibida informando exatamente que tipo de acesso eles estão concedendo a um aplicativo.

Primeiro, estas são as novas strings que um usuário verá quando qualquer permissão no novo grupo de permissões CALL_LOG for solicitada.

<stringname="permgroupdesc_calllog">read and write phone call logstring>
<stringname="permgrouprequest_calllog">Allow <b>%1$s</b> to access your phone call logs?string>
A caixa de permissão que apareceu ao solicitar READ_CALL_LOG, que anteriormente estava no grupo de permissões PHONE.

Como isso afetará os aplicativos existentes? O Android usa agrupamentos de permissões marcadas como “perigosas” para gerenciar o nível de acesso concedido a um aplicativo e escolher a mensagem a ser exibida ao usuário. Anteriormente, READ_CALL_LOG e outras permissões relacionadas ao registro de chamadas eram mostradas como parte da caixa de diálogo geral "acessar os recursos do telefone do dispositivo", mas essa mensagem é extremamente vaga. Além disso, pode-se argumentar que é irrelevante para o registro de chamadas do seu dispositivo. O Android P Developer Preview 3 reagrupou todas as permissões relacionadas ao registro de chamadas em um novo grupo apropriadamente chamado CALL_LOG para que uma mensagem mais adequada apareça quando um aplicativo solicitar isto.

Os aplicativos precisarão solicitar explicitamente as permissões CALL_LOG, READ_CALL_LOG, WRITE_CALL_LOG ou PROCESS_OUTGOING_CALLS do CALL_LOG se eles precisarem acessar o registro de chamadas ou processar chamadas de saída, de acordo com a documentação de visualização do desenvolvedor do Android P. Além disso, os desenvolvedores precisarão levar em conta quando o usuário negar ao aplicativo acesso às informações do registro de chamadas.

Você também pode verificar o novo agrupamento de permissões retirado do Android Framework descompilado abaixo.

<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"/>

Fonte: Documentação do desenvolvedor Android P