Как получить имя файла и реальный путь к файлу диска Google?

Я использую следующий код, чтобы получить имя файла и путь к файлам в Диспетчере файлов. Однако он не возвращает путь к файлам Google Диска. Любая идея, как получить фактический путь?

Мой код –

public String getFilePath() { if (uri.getScheme().equalsIgnoreCase("file")) { return uri.getLastPathSegment(); } cursorLoader.setUri(uri); cursorLoader.setProjection(projections); Cursor cursor = cursorLoader.loadInBackground(); int column_index = cursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns.DATA); cursor.moveToFirst(); String realPath = cursor.getString(column_index); cursor.close(); if (realPath == null || realPath.isEmpty()) { return null; } return null; } 

Solutions Collecting From Web of "Как получить имя файла и реальный путь к файлу диска Google?"

Вы должны использовать URI. Через URI вы можете getContentResolver.query(theUriThatYouHave, null, null, null, null) . Теперь, когда у вас есть курсор, вы можете проверить имена столбцов и т. Д.

Для диска Google есть имя столбца _display_name . Это даст вам имя файла.

Теперь вы хотите получить доступ к файлу? Вы можете открыть InputStream для URI через getContentResolver().openInputStream(theUriThatYouHave) .