Как создать файл из uri намерения в Android 11

#android #android-studio

#Android #android-studio

Вопрос:

Я пытаюсь выбрать файл, например docs или pdf, из своего приложения и отправить файл на свой сервер с помощью okhttp. Я получаю uri от использования намерения

 Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
        intent.setType("*/*");
        startActivityForResult(intent, FILE_PICKER_REQUEST_CODE); 
 

Я не могу получить полный путь к файлу для создания файла.
Мне нужны такие пути

 /storage/emulated/0/document/admin.pdf
 

Все, что мне нужно, это файл, который я могу отправить на сервер любым способом.Помогите, пожалуйста.

Комментарии:

1. что вы получаете в onActivityResult uri?

2. Вам не нужно преобразовывать хороший uri в полный путь к файловой системе, поскольку вы можете использовать этот uri напрямую для загрузки с помощью okhttp.

3. @blackapps вам не нужен inpustream? commonsware.com/blog/2020/07/05/multipart-upload-okttp-uri.html

4. Если вам нужен входной поток, вы можете напрямую получить входной поток для этого uri. И используйте InputSteamRequestBody. Действительно.. это ссылка, которая нужна оператору.

5. @blackapps не понял, но можем ли мы использовать uri напрямую. можете ли вы указать мне на что-нибудь. я всегда использовал inpustream