2

Я борюсь с дизайном юзабилити.Предложить план загрузки пользователю с возможным диалогом

Давайте иметь заявку, которая имеет только одно разрешение, android.permission.INTERNET.

Я хочу загрузить изображение с удаленного URL (где я не могу контролировать серверную), но скачайте его, чтобы пользователь мог выбрать, будет ли и где скачать этот файл.
Отображение диалога для утверждения процесса и/или выбора конечного пункта назначения.

Я рассмотрел эти решения:

  • DownloadManager с помощью setDestinationInExternalPublicDir
    • Две ошибки, я не хочу, чтобы добавить WRITE_EXTERNAL_STORAGE разрешения, и пользователь не может решить, следует ли загружать или нет
  • Использование Intent.ACTION_VIEW для запуска браузера
    • standalone will dis играть изображение для пользователя, но не инициируют загрузки автоматически
  • Использование Intent.ACTION_VIEW и пользовательского сценария
    • прокси-сервер не мой, и я не хочу, чтобы обеспечить свою загрузку на стороне сервера прокси принуждая скрипт
  • Замена HTTP (S) для FTP, и пусть пользователь решит
    • не работает, так как изображения на этом сервере не доступны через FTP
  • совместимость Providin для загрузки приложений (таких как «Загрузить все файлы», различные «Менеджер файлов», ...)

Как добиться этого без расширения существующих разрешений и зависят от нестандартных приложений?


Связанный с этим GitHub вопрос https://github.com/smarek/Simple-Dilbert/issues/1

ответ

0

Ваше приложение загружает файлы и потенциально записывает их на внешний накопитель. Я чувствую, что вы должны запрашивать разрешение WRITE_EXTERNAL_STORAGE (which implies also READ_EXTERNAL_STORAGE), чтобы точно представлять, что делает ваше приложение.

Тогда ваше первое решение работает. Перед вызовом загрузки вам просто нужен способ запроса пользователя. Или иначе принимайте активное участие в процессе работы.

+0

Привет, Джефф, приятно получить ваше мнение. Проблема заключается в том, что «WRITE_EXTERNAL_STORAGE» подразумевает доступ R/W к всему внешнему хранилищу, и это то, чего я действительно не хочу делать. –

+0

Я принимаю это решение, но меня не устраивает возможное решение для пользовательского потока –

 Смежные вопросы

  • Нет связанных вопросов^_^