You should request MediaStore without using the protocol "content: //", for example, like this (the code can be improved):
String[] paths = {"/example.png"}; final String[] FIELDS = { MediaStore.MediaColumns._ID }; // Images Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; Cursor ca = context.getContentResolver().query(uri, FIELDS, MediaStore.MediaColumns.DATA + "=?", paths, null); for (ca.moveToFirst(); !ca.isAfterLast(); ca.moveToNext()) { int id = ca.getInt(ca.getColumnIndex(MediaStore.MediaColumns._ID)); uri = ContentUris.withAppendedId(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, id); found = true; } ca.close(); if (found) { return uri; }
source share