Ny behörighetsgrupp i Android P gör det tydligt när appar vill läsa din samtalslogg eller telefonnummer så att du vet exakt vad appar gör.
Android Developer Preview 3 (Android P Beta 2) bara tappade, och med det följer ett antal förändringar - mestadels under huven. Även om det finns några ändringar som vänder sig till användaren, är nästan alla ändringar i förberedelse för den slutliga utgåvan. Den största delen av uppdateringen är de färdiga API: erna, vilket innebär att du kan bygga en applikation som nu är inriktad på API 28, Android P. I Developer Preview 3 har en ny behörighetsgrupp lagts till. Den här behörighetsgruppen hänför sig specifikt till Androids samtalslogg, vilket betyder att när en applikation vill läsa din samtalslogg eller telefonnummer visas ett framträdande meddelande som vänder sig mot användaren som talar om för dem exakt vilken typ av åtkomst de ger en app.
För det första är det här de nya strängarna som en användare kommer att se när någon behörighet i den nya CALL_LOG-behörighetsgruppen efterfrågas.
<stringname="permgroupdesc_calllog">read and write phone call logstring>
<stringname="permgrouprequest_calllog">Allow <b>%1$s</b> to access your phone call logs?string>
Hur kommer detta att påverka befintliga applikationer? Android använder behörighetsgrupperingar för behörigheter markerade som "farliga" för att hantera åtkomstnivån som ges till en applikation och välja meddelandet som ska visas för användaren. Tidigare visades READ_CALL_LOG och andra samtalsloggrelaterade behörigheter som en del av den allmänna dialogen "åtkomst till telefonens funktioner för enheten", men det meddelandet är extremt vagt. Inte bara det, det kan hävdas att det är irrelevant för din enhets samtalslogg. Android P Developer Preview 3 har omgrupperat alla samtalsloggrelaterade behörigheter till en helt ny grupp kallas på lämpligt sätt CALL_LOG så att ett mer lämpligt meddelande visas när en applikation begär Det.
Applikationer måste uttryckligen begära CALL_LOG, READ_CALL_LOG, WRITE_CALL_LOG eller PROCESS_OUTGOING_CALLS behörigheter från CALL_LOG-gruppen om de behöver komma åt samtalsloggen eller bearbeta utgående samtal, enligt förhandsgranskningsdokumentationen för Android P-utvecklare. Utvecklare måste också ta hänsyn till när användaren nekar appen åtkomst till samtalslogginformation.
Du kan också kolla in den nya behörighetsgrupperingen hämtad från det dekompilerade Android-ramverket nedan.
<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"/>
Källa: Android P Developer Documentation