Я загрузил изображение из хранилища Google Drive Я хочу установить это изображение для просмотра изображений в моем приложении с помощью Gallery Intent.
Uri изображения, полученного в onActivityResult: content: //com.google.android.apps.docs.storage/document/acc%3D2%3Bdoc%3Dencoded%3DWe%2BdXDcNgTeulVk1Ntu3YfRYkm9wk7uTdTG6xAg4x3g4x3g4x4g4
Я использую этот код, чтобы получить реальный путь от URL:
if ("com.google.android.apps.docs.storage".equals(uri
.getAuthority())) {
//content://com.google.android.apps.docs.storage/document/acc%3D2%3Bdoc%3Dencoded%3DWe%2BdXDcNbYeulVk1Ntu3YfRYkm9wk7uTdTG6LE6yck1BxY4g7xAxyPAgtMtz4A%3D%3D
final String docId = DocumentsContract.getDocumentId(uri);
final String id = docId.split(";")[1];
final String[] selectionArgs = new String[]{id};
//String[] column = {MediaStore.Images.Media.DATA};
// where id is equal to
String selection = MediaStore.Images.Media._ID + "=?";
Uri contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
//..
Cursor cursor = null;
String filePath = null;
try {
String[] column = {MediaStore.Images.Media.DATA};
cursor = context.getContentResolver().query(contentUri,
column, selection, selectionArgs, null);
if (cursor != null && cursor.moveToFirst()) {
int columnIndex = cursor.getColumnIndex(column[0]);
filePath = cursor.getString(columnIndex);
}
} finally {
if (cursor != null)
cursor.close();
return filePath;
}
}
.....
Но я получаю нулевой курсор. Таким образом, filepath всегда пуст / null.
Кто-нибудь может подсказать, что я делаю не так?