APK hataları

SecurityException: izin verilmedi

Hata metni

java.lang.SecurityException: Permission Denial: opening provider ... requires android.permission.READ_MEDIA_IMAGES
SecurityException: Neither user 10123 nor current process has android.permission.CAMERA

Neden

Kod izin gerektiren bir işlemi çağırıyor ama manifestte izin yok ya da kullanıcı çalışma anında izin vermedi.

Adım adım çözüm

  1. AndroidManifest.xml içinde <uses-permission> satırının olduğunu kontrol et.
  2. Tehlikeli izinler (kamera, konum, mikrofon) çalışma anında requestPermissions ya da Activity Result API ile sorulmalı.
  3. Android 13+ için READ_EXTERNAL_STORAGE yerine READ_MEDIA_IMAGES gibi yeni izinleri kullan.
  4. İzin reddedilirse uygulama çökmemeli, açıklama göstermeli.
  5. Test için adb shell pm grant ile izin ver ya da pm reset-permissions ile sıfırla.

Örnek komutlar

adb shell pm grant com.example.app android.permission.CAMERA
adb shell dumpsys package com.example.app | grep -A3 "granted=false"
adb shell pm reset-permissions

Tekrarlanmasın diye

Her izni ilk kullanımdan hemen önce ve açıklamayla sor.

Yazar ve lisans: Nibras Code