Я борюсь с дизайном юзабилити.
Пусть есть приложение, которое имеет только одно разрешение, android.permission.INTERNET
.
Я хочу загрузить изображение с удаленного URL (где я не могу контролировать серверную), но загрузите его, чтобы пользователь мог выбрать, будет ли и где скачать этот файл.
Отображение диалога для утверждения процесса и/или выбора конечного адресата.
Я рассмотрел эти решения:
- DownloadManager с помощью
setDestinationInExternalPublicDir
- Две ошибки, я не хочу добавлять разрешения
WRITE_EXTERNAL_STORAGE
, и пользователь не может решить, загружаться или нет.
- Две ошибки, я не хочу добавлять разрешения
- Использование
Intent.ACTION_VIEW
для запуска браузера- standalone будет отображать изображение пользователю, но не запускать загрузку автоматически
- Использование
Intent.ACTION_VIEW
и пользовательского прокси script- Сервер не мой, и я не хочу, чтобы обеспечить загрузку прокси-сервера на стороне сервера script
- Замена HTTP (S) для FTP и разрешение пользователю
- Не работает, поскольку изображения на этом сервере недоступны через FTP
- Совместимость с Providin для приложений загрузки (таких как "Загрузка всех файлов", различные "Менеджеры файлов",...)
Как добиться этого без расширения текущих разрешений или зависеть от нестандартного приложения?
Связано с этой проблемой github https://github.com/smarek/Simple-Dilbert/issues/1