I'm new in Android programming. I am following a tutorial to learn how to upload an image that I have loaded into an ImageButton to firebase storage.
Notice that I already added firebase dependencies to my app;
I get this permission denial:
reading com.android.providers.media.mediadocumentsprovider action_open_document
exactly where the upload starts :
final UploadTask uploadTask = myref.child("Articles").child(filename)
.putFile(myUri);
Here is my file chooser:
public void openFileChooser (){
Intent intent = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
}
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
startActivityForResult(intent, PICK_IMAGE_RESQUEST);
}
And onActivityResult:
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_RESQUEST && resultCode == RESULT_OK
&& data != null && data.getData()!=null){
myUri = data.getData();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
getContentResolver().takePersistableUriPermission(myUri,Intent.FLAG_GRANT_READ_URI_PERMISSION);
}
filename = getFileName(myUri);
}
}
The error I got:
java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaDocumentsProvider from pid=29526, uid=10133 requires that you obtain access using ACTION_OPEN_DOCUMENT or related APIs