В ACTION_GET_CONTENT не удается разрешить Uri для полного пути к файлу, если используется стороннее приложение-проводник файлов
В настоящее время я разрешаю пользователю выбирать zip файл с помощью
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("application/zip");
startActivityForResult(intent, RequestCode.REQUEST_CHOOSE_BACKUP_FILE);
В onActivityResult
мы получаем Uri
через data.getData()
Я использую код Пола Берка, чтобы разрешить Uri
полный путь к файлу.
Он работает хорошо, пока я не использую сторонний проводник (вы можете увидеть значок синего файла, имя приложения - Explorer)
Примером возвращенного Uri является content://com.speedsoftware.rootexplorer.content/storage/emulated/0/Download/epayslip-2.zip, если я выберу файл через Explorer.
Используя код Пола Берка, будет выполнен getDataColumn
, который в конечном итоге вернет значение null.
Мне было интересно, это вызвано недостатком кода Пола Берка, или проблема связана с реализацией приложения стороннего файлового браузера? Возможно ли, что мы можем это исправить?