Android P'deki yeni izin grubu, uygulamaların tam olarak ne yaptığını bilmeniz için uygulamaların çağrı kaydınızı veya telefon numaralarınızı ne zaman okumak istediğini açıkça belirtir.
Android Geliştirici Önizlemesi 3 (Android P Beta 2) az önce düştüve bununla birlikte çoğunlukla kaputun altında olmak üzere bir dizi değişiklik geliyor. Kullanıcının karşılaştığı bazı değişiklikler olsa da neredeyse tüm değişiklikler son sürüme hazırlık aşamasındadır. Güncellemenin en büyük kısmı kesinleşmiş API'lerdir; bu, artık API 28, Android P'yi hedefleyen bir uygulama oluşturabileceğiniz anlamına gelir. Developer Preview 3'te yeni bir izin grubu eklendi. Bu izin grubu özellikle Android çağrı günlüğüyle ilgilidir; yani bir uygulama çağrı günlüğünüzü okumak istediğinde veya telefon numaraları, kullanıcıya bir uygulamaya tam olarak ne tür bir erişim izni verdiklerini söyleyen, göze çarpan, kullanıcıya yönelik bir mesaj görüntülenecektir.
Öncelikle bunlar, yeni CALL_LOG izin grubunda herhangi bir izin istendiğinde kullanıcının göreceği yeni dizelerdir.
<stringname="permgroupdesc_calllog">read and write phone call logstring>
<stringname="permgrouprequest_calllog">Allow <b>%1$s</b> to access your phone call logs?string>
Bu durum mevcut uygulamaları nasıl etkileyecek? Android, bir uygulamaya verilen erişim düzeyini yönetmek ve kullanıcıya görüntülenecek mesajı seçmek amacıyla "tehlikeli" olarak işaretlenen izinler için izin gruplamalarını kullanır. Daha önce READ_CALL_LOG ve çağrı kaydıyla ilgili diğer izinler, genel "cihazın telefon özelliklerine erişim" iletişim kutusunun bir parçası olarak gösteriliyordu ancak bu mesaj son derece belirsizdi. Sadece bu da değil, cihazınızın arama kaydıyla alakasız olduğu da iddia edilebilir. Android P Developer Preview 3, çağrı kaydıyla ilgili tüm izinleri yepyeni bir grupta yeniden gruplandırdı Bir uygulama talep ettiğinde daha uygun bir mesajın görünmesi için uygun şekilde CALL_LOG olarak adlandırıldı BT.
Uygulamaların CALL_LOG, READ_CALL_LOG, WRITE_CALL_LOG veya PROCESS_OUTGOING_CALLS izinlerini açıkça talep etmesi gerekir. Android P geliştirici önizleme belgelerine göre çağrı kaydına erişmeleri veya giden çağrıları işlemeleri gerekiyorsa CALL_LOG grubunu kullanın. Ayrıca geliştiricilerin, kullanıcının uygulamanın arama kaydı bilgilerine erişimini reddettiği durumları hesaba katması gerekecektir.
Aşağıdaki, kaynak koda dönüştürülmüş Android Çerçevesinden alınan yeni izin gruplamasına da göz atabilirsiniz.
<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"/>
Kaynak: Android P Geliştirici Belgeleri