Android Marshmallow’da Yenilenen İzin Sistemi

Android Marshmallow öncesinde uygulama izin sistemi tek bir akıştan çalışıyordu ve uygulama yüklenirken alınan izinler uygulama hayatı boyunca devam ediyordu.

Marshmallow öncesi izinler

Bu durum uygulamayı yayınlayan açısından iyi olsa da kullanıcılar açısından sorun teşkil edebiliyordu. Android Marshmallow ile birlikte kullanıcı, uygulama yüklüyken uygulamanın kullandığı tehlikeli kategorisinde olan izinleri iptal edebilecek.

Runtime Permissions on WhatsApp

Peki bu izin iptal edildi ancak sizin uygulamanızın o izne ihtiyacı var ve o izin olmadan işlem yapamıyorsunuz. Bu durumda ne olacak ?

Android’in sunduğu yeni çözüm Runtime Permissions. Uygulama çalışırken kullanıcıya açılan bildirim ekranıyla bu izin yeniden istenir, kullanıcı o izni verirse ise devam edebilirsiniz.

Permissions on Hangouts

İzin Kategorileri

Android sisteminde kullanılan izinler 2 kategoriden oluşuyor,

Dangerous (Tehlikeli)
Normal

Aşağıda tehlikeli izinleri görebiliriz.

Dangerous Permissions

Runtime Permissions

Uygulama çalışırken bu izni nasıl alacağız ? Aşağıdaki kod örneği üzerinden gidelim,


shouldShowRequestPermissionRationale’nun true donmesi

Android’in kendi arayuzuyle izin istemesi

Eğer kullanıcı “Bir daha sorma” kutusunu işaretleyip reddederse, bir sonraki izin isteme durumunda kullanıcıya, ayarlardan bu izni açmasını söylemeniz gerekebilir.

Peki manifest.xml dosyasında ne gibi değişiklikler yapmamız gerekecek ?

<uses-sdk
android:minSdkVersion=”19"
android:targetSdkVersion=”23"/>
<uses-permission android:name=”android.permission.READ_CONTACT”/>

Sadece targetSdkVersion’u 23 yapmanız yeterli. Bu sayede siz Android’in son surumu olan (Android N’yi ayrı tutuyorum) Marsmallow’u desteklediğinizi belirtiyorsunuz. İzinler kısmında olan READ_CONTACT izni ise aynen duruyor, silmiyoruz.

Genel hatlarıyla Android Marsmallow ile birlikte gelen Runtime Permission yeniliğini inceledik. Bir sonraki yazımda görüşmek dileğiyle.

Sayanora.