В моем приложении я кодирую действие для резервного копирования локальной базы данных на Google Диск. Я позволить пользователю выбрать папку для сохранения файла с помощью Диска intentPicker
и сохранение результата в моем OnActivityResult
:Convert DriveId to human readable path
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
switch (requestCode) {
// REQUEST_CODE_PICKER
case 2:
intentPicker = null;
if (resultCode == RESULT_OK) {
//Get the folder's drive id
DriveId mFolderDriveId = data.getParcelableExtra(
OpenFileActivityBuilder.EXTRA_RESPONSE_DRIVE_ID);
uploadToDrive(mFolderDriveId);
}
После загрузки файла я хочу, чтобы показать пользователю, где был сохранен файл. Итак, Мне нужно преобразовать папку DriveId в человеческий читаемый путь, например /drive/MyBackups/May.
Я уже пробовал driveId.toString
, но он возвращает строку с бесполезными цифрами и буквами, такими как DriveId:CASDFAD2Jmasdf==...
.
Когда вы получите mFolderDriveId, я предлагаю вам выполнить запрос на выбор метаданных и показать только имя папки для пользователя. Поскольку пользователь только что выбрал папку, переместившись через его диск, у него уже будет достаточно контекста. Чтобы получить полный путь, вам нужно иметь доступ к предкам выбранной папки вплоть до корня, чего не ожидается для приложения с областью области FILE. – Shailendra