Il nuovo gruppo di autorizzazioni in Android P chiarisce quando le app desiderano leggere il registro delle chiamate o il numero di telefono

Il nuovo gruppo di autorizzazioni in Android P chiarisce quando le app desiderano leggere il registro delle chiamate o i numeri di telefono in modo da sapere cosa stanno facendo esattamente le app.

Anteprima per sviluppatori Android 3 (Android P Beta 2) appena caduto, e con esso arrivano una serie di cambiamenti, per lo più sotto il cofano. Sebbene siano presenti alcune modifiche rivolte agli utenti, quasi tutte le modifiche sono in preparazione per la versione finale. La parte più importante dell'aggiornamento riguarda le API finalizzate, il che significa che puoi creare un'applicazione ora destinata all'API 28, Android P. In Developer Preview 3 è stato aggiunto un nuovo gruppo di autorizzazioni. Questo gruppo di autorizzazioni riguarda specificamente il registro delle chiamate Android, ovvero quando un'applicazione desidera leggere il registro delle chiamate o numeri di telefono, verrà visualizzato un messaggio ben visibile rivolto all'utente che informa esattamente che tipo di accesso stanno concedendo a un'app.

Innanzitutto, queste sono le nuove stringhe che un utente vedrà quando viene richiesta un'autorizzazione nel nuovo gruppo di autorizzazioni 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>
La casella di autorizzazione visualizzata durante la richiesta di READ_CALL_LOG, che in precedenza si trovava nel gruppo di autorizzazioni TELEFONO.

In che modo ciò influirà sulle applicazioni esistenti? Android utilizza i raggruppamenti di autorizzazioni per le autorizzazioni contrassegnate come "pericolose" per gestire il livello di accesso concesso a un'applicazione e scegliere il messaggio da visualizzare all'utente. In precedenza, READ_CALL_LOG e altre autorizzazioni relative al registro delle chiamate venivano mostrate come parte della finestra di dialogo generale "accedi alle funzionalità del telefono del dispositivo", ma quel messaggio è estremamente vago. Non solo, si potrebbe sostenere che sia irrilevante per il registro delle chiamate del tuo dispositivo. Android P Developer Preview 3 ha raggruppato tutte le autorizzazioni relative al registro chiamate in un nuovo gruppo chiamato opportunamente CALL_LOG in modo che un messaggio più adatto appaia quando un'applicazione lo richiede Esso.

Le applicazioni dovranno richiedere esplicitamente le autorizzazioni CALL_LOG, READ_CALL_LOG, WRITE_CALL_LOG o PROCESS_OUTGOING_CALLS dal CALL_LOG se hanno bisogno di accedere al registro delle chiamate o elaborare le chiamate in uscita, secondo la documentazione di anteprima per sviluppatori Android P. Inoltre, gli sviluppatori dovranno tenere conto di quando l'utente nega all'app l'accesso alle informazioni del registro delle chiamate.

Puoi anche controllare il nuovo raggruppamento di autorizzazioni tratto dal framework Android decompilato di seguito.

<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: documentazione per sviluppatori Android P