Az Android P új engedélycsoportja egyértelművé teszi, hogy az alkalmazások mikor akarják olvasni a hívásnaplót vagy a telefonszámokat, hogy pontosan tudja, mit csinálnak az alkalmazások.
Android Developer Preview 3 (Android P Beta 2) csak leesett, és ezzel együtt számos változás következik – többnyire a motorháztető alatt. Bár van néhány felhasználót érintő változás, szinte minden változtatás a végső kiadás előkészítése. A frissítés legnagyobb részét a véglegesített API-k teszik ki, ami azt jelenti, hogy most már API 28-at, Android P-t célzó alkalmazást készíthet. A 3. fejlesztői előnézetben egy új engedélycsoport került hozzáadásra. Ez az engedélycsoport kifejezetten az Android hívásnaplójára vonatkozik, ami azt jelenti, hogy amikor egy alkalmazás be akarja olvasni a hívásnaplóját vagy telefonszámot, egy jól látható, a felhasználó felé mutató üzenet jelenik meg, amely pontosan megmondja nekik, hogy milyen hozzáférést adnak egy alkalmazásnak.
Először is, ezek azok az új karakterláncok, amelyeket a felhasználó akkor fog látni, amikor az új CALL_LOG engedélycsoportban bármilyen engedélyt kérnek.
<stringname="permgroupdesc_calllog">read and write phone call logstring>
<stringname="permgrouprequest_calllog">Allow <b>%1$s</b> to access your phone call logs?string>
Hogyan érinti ez a meglévő alkalmazásokat? Az Android engedélycsoportokat használ a "veszélyes" megjelölésű engedélyekhez, hogy kezelje az alkalmazások hozzáférési szintjét, és válassza ki a felhasználó számára megjelenítendő üzenetet. Korábban a READ_CALL_LOG és más hívásnaplóval kapcsolatos engedélyek az általános "Hozzáférés az eszköz telefonfunkcióihoz" párbeszédpanel részeként jelentek meg, de ez az üzenet rendkívül homályos. Nem csak ez, hanem azzal is vitatható, hogy ez irreleváns az eszköz hívásnaplója szempontjából. Az Android P Developer Preview 3 átcsoportosította az összes hívásnaplóval kapcsolatos engedélyt egy vadonatúj csoportba megfelelően CALL_LOG néven, így egy megfelelőbb üzenet jelenik meg, amikor egy alkalmazás kéri azt.
Az alkalmazásoknak kifejezetten kérniük kell a CALL_LOG, READ_CALL_LOG, WRITE_CALL_LOG vagy PROCESS_OUTGOING_CALLS engedélyeket a CALL_LOG csoportba, ha hozzá kell férniük a hívásnaplóhoz vagy feldolgozniuk kell a kimenő hívásokat, az Android P fejlesztői előnézeti dokumentációja szerint. A fejlesztőknek azt is figyelembe kell venniük, ha a felhasználó megtagadja az alkalmazás hozzáférését a hívásnapló információihoz.
Az alábbiakban megtekintheti a visszafejtett Android-keretrendszerből vett új engedélycsoportokat is.
<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"/>
Forrás: Android P fejlesztői dokumentáció