İlk önce AndroidManifest.xml dosyamızın içerisine istediğimiz izinleri belirmemiz gerekir.
Örnek olarak İnternet erişim iznini istemek için belirtelim.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Daha sonra uygulama açılışında gerekli izinlerin alınıp alınmadığını kontrol etmemiz gerekir. Kullanıcı uygulamayı yükleyip gerekli izinleri verdikten sonra Ayarlar menüsünden sizin uygulamanızın izinlerini manuel olarak kapatmış olabilir. Böyle bir durumda uygulamanızı çalıştırdığınızda istemediğiniz hatalar alabilirsiniz. Bunun için izinleri kontrol ediyoruz.
MainActivity ya da Splash Screen de bu kontrolü gerçekleştirebilirsiniz. Her ikisinde de onCreate metodunun en başında kullanmanız daha doğru olacaktır.
Aşağıda dosya yazma iznini kontrol edeceğiz. Bunun için bir metot yazdık. Bu metodu onCreate içerisinde kullanırsanız kontrolü gerçekleştirebilirsiniz.
public boolean HaveStoragePermission() {
//izin alma işlemi api level 23'den sonra geldiği için onu kontrol ediyoruz.
IF (Build.VERSION.SDK_INT >= 23) {
//manifestteki izin kontrol ediliyor.
IF (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
== PackageManager.PERMISSION_GRANTED) {
return true;
} else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
return false;
}
}
// kullanıcı 23'den eski bir sistem kullanıyorsa izin alma işlemi yapılmadan devam ediliyor.
else {
return true;
}
}
Herkese iyi çalışmalar.