getExternalFilesDir permissions

Viewed 2965

My application is live on Play Store, I noticed that I was not asking permissions when calling:

File savedImagesDirectory = getBaseContext.getExternalFilesDir("SavedImages");
if(savedImagesDirectory != null) {
    if (!savedImagesDirectory.exists()) {
        if (savedImagesDirectory.mkdir()) ; //directory is created;
    }
}

Strange thing is, I'm not getting any crashes when calling this without runtime permissions. I tested on my device running Nougat and the files are created and I experienced no crashes.

I only have permissions in my Manifest, but I don't ask runtime permissions.

I've seen A LOT of answers on SO that say that runtime permissions should be asked when creating a folder/file in external file directory.


My question:

Should I ask runtime permissions when calling the above? If yes, why am I not experiencing any crashes?

It would also be helpful if someone can provide a link where I can read up about this.

2 Answers
String[] permissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE};
requestPermissions(permissions, WRITE_REQUEST_CODE);

use this code

@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] 
grantResults) {
switch (requestCode) {
   case WRITE_REQUEST_CODE:
     if(grantResults[0] == PackageManager.PERMISSION_GRANTED){
       //Granted.


     }
   else{
       //Denied.
     }
    break;
}
}
Related