Android Studio Read External Storage Hatası

Talhaklc

Decapat
Katılım
26 Kasım 2021
Mesajlar
73
Daha fazla  
Cinsiyet
Erkek
Merhabalar, android studio üzerinde kotlin diliyle uygulama yapıyorum. Uygulamada imageView veya button üzerinden kullanıcıdan, kullanıcı deposuna erişmek için izin istedigimde emulatorde herhangi bir bildirim ya da gorsel hiç bir sey cıkmıyor. Sadece READ_EXTERNAL_STORAGE hatalı sanırm cunku bunun dısındakı izinleri isteyebiliyorum ve ekranda da çıkıyor. Yardımcı olabilir misiniz?
 
AndroidManifest.xml'i kontrol edin. Uygulama izinleri, genellikle AndroidManifest.xml dosyasında tanımlanır. Depolama izni eklemek için aşağıdaki gibi bir giriş yapılmalıdır:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Android 6.0 (API seviyesi 23) ve sonrasında, depolama izni kullanıcının onayını almadan önce kodla talep edilmelidir. Aksi takdirde, izinler sessizce reddedilir ve kullanıcıya bir bildirim gösterilmez.
Kod:
private val REQUEST_STORAGE_PERMISSION = 1


private fun requestStoragePermission() {

    if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
        // İzin zaten verildi, işlemleri yapabilirsiniz.
        // ...
    } else {
        // İzin daha önce verilmemişse, izin iste
        ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), REQUEST_STORAGE_PERMISSION)
    }
}

// İzin isteme sonucunu işleyen metot
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
    if (requestCode == REQUEST_STORAGE_PERMISSION) {
        if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // İzin verilmiş, işlemleri yapabilirsiniz.
            // ...
        } else {
            // İzin reddedilmiş, gerekirse kullanıcıyı bilgilendirin.
        }
    }
}
 
AndroidManifest.xml'i kontrol edin. Uygulama izinleri, genellikle AndroidManifest.xml dosyasında tanımlanır. Depolama izni eklemek için aşağıdaki gibi bir giriş yapılmalıdır:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Android 6.0 (API seviyesi 23) ve sonrasında, depolama izni kullanıcının onayını almadan önce kodla talep edilmelidir. Aksi takdirde, izinler sessizce reddedilir ve kullanıcıya bir bildirim gösterilmez.
Kod:
private val REQUEST_STORAGE_PERMISSION = 1


private fun requestStoragePermission() {

    if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
        // İzin zaten verildi, işlemleri yapabilirsiniz.
        // ...
    } else {
        // İzin daha önce verilmemişse, izin iste
        ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), REQUEST_STORAGE_PERMISSION)
    }
}

// İzin isteme sonucunu işleyen metot
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
    if (requestCode == REQUEST_STORAGE_PERMISSION) {
        if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // İzin verilmiş, işlemleri yapabilirsiniz.
            // ...
        } else {
            // İzin reddedilmiş, gerekirse kullanıcıyı bilgilendirin.
        }
    }
}
Dediklerinizi kendi koduma uyarladım fakat yine de izin istemiyor. İzin verilmediginde bir toast mesajı yazdırdım o calısıyor izin verilmedi diye. Ama işte izin isteme kısmı ekrana gelmiyor malesef. Siz direkt ornek bir kod yazabilir misiniz her sey acıklayıcı ve icinde dahil olacak sekilde. (bir imageView koyup tıklandıgında kullanıcıdan depolamaya gitme izni isteyip izin verilince galeriye ulasip gorsel secip imageView' e koyabilme gibi bir kod yazabilir misiniz? O sekilde daha acıklayıcı olur. Şimdiden teşekkürler)
 

Yeni konular

Geri
Yukarı