Расскажите мне, сталкивались ли вы когда-нибудь с такой ситуацией: у вас есть приложение (скажем, банковское приложение), и в этом приложении есть нужный вам файл (например, выписка по счету в формате PDF).
Вы хотите загрузить этот файл, но приложение не предлагает простого способа сделать это. Максимум, что оно предлагает, — это возможность поделиться файлом, то есть в конечном итоге вам придется отправить файл в приложение для обмена сообщениями или себе через электронную почту, чтобы иметь к ней доступ.
Это происходит потому, что некоторые приложения решают не предоставлять опцию «Сохранить». Обычно это происходит из-за того, что разработчики не хотят реализовывать логику сохранения файла самостоятельно, однако они обычно предоставляют функцию «Поделиться», чтобы вместо этого воспользоваться преимуществами встроенного системного ресурса. система.
В этих случаях может пригодиться сохранение локально, позволяющее сохранить файл в любом месте вашего устройства, зарегистрировав его в качестве опции общего доступа на листе общего доступа, отобразив сведения о файле, а затем разрешив открыть средство выбора файлов для сохранения.
Также доступна опция перехвата ACTION_VIEW, позволяющая сохранить файл, если исходное приложение принудительно просматривало файл.
Save Locally — это программное обеспечение FLOSS (бесплатное и свободное программное обеспечение с открытым исходным кодом), разработанное с помощью Jetpack Compose. Исходный код доступен по адресу
https://github.com/MateusRodCosta/Share2Storage под лицензией AGPLv3+.