5

Android 6 çalışma zamanı izni hakkında sorularım var. Kullanıcı galeriden bir fotoğraf seçmek istiyorsa READ_EXTERNAL_STORAGE iznini sormalı mıyız? Depolama iznini kapatmamıza rağmen galeriye erişebileceğim gibi görünüyor. Teşekkürler.Android 6 galeriye erişim izni.

cevap

4

READ_EXTERNAL_STORAGE sayfasını sormanız gerekir. Galeriye onsuz erişebileceksiniz, ancak galeriden aldığınız medya ile bir şeyler yapmak isterseniz READ iznine ihtiyacınız olacak.

İzin Reddi: okuma com.android.providers.media.MediaProvider uri içerik: // medya/harici

bir görüntü sonrası onActivityResult ne olduğuna ilişkin bir hızlı testi formu galerisi aldı edilmiştir Android 6.0 veya above.This kullanıyorsanız pid = 8405, uid gelen/images/medya = 10177 android.permission.READ_EXTERNAL_STORAGE veya grantUriPermission() özel izni, çalışma zamanı iznini kullanabilir için

0

gerektirir kod size yardımcı olabilir. Uygulamanız zaten ihtiyacı iznine sahip değilse

, uygulama çağrı requestPermissions biri() yöntemleri uygun izinleri talep etmek zorundadır. Uygulamanız istediği izinleri ve da bu izin isteğini tanımlamak için belirttiğiniz bir tamsayı istek kodunu geçirir. Bu yöntem eşzamansız olarak çalışır: işlevini döndürür ve kullanıcı iletişim kutusuna yanıt verdikten sonra, sistem uygulaması, uygulamanın geri arama yöntemini, sonuçların requestPermissions() öğesine iletildiği aynı istek kodunu ileterek sonuçlarla çağırır.

// Here, thisActivity is the current activity 
if (ContextCompat.checkSelfPermission(thisActivity, 
       Manifest.permission.READ_CONTACTS) 
     != PackageManager.PERMISSION_GRANTED) { 

    // Should we show an explanation? 
    if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity, 
      Manifest.permission.READ_CONTACTS)) { 

     // Show an explanation to the user *asynchronously* -- don't block 
     // this thread waiting for the user's response! After the user 
     // sees the explanation, try again to request the permission. 

    } else { 

     // No explanation needed, we can request the permission. 

     ActivityCompat.requestPermissions(thisActivity, 
       new String[]{Manifest.permission.READ_CONTACTS}, 
       MY_PERMISSIONS_REQUEST_READ_CONTACTS); 

     // MY_PERMISSIONS_REQUEST_READ_CONTACTS is an 
     // app-defined int constant. The callback method gets the 
     // result of the request. 
    } 
}  

To Know more about runtime permission

https://developer.android.com/training/permissions/requesting.html