Я интегрирую Document Access Framework с моим облачным хранилищем. Используя эту документацию, я смог получить доступ к файлу и получить его (я просто использую функцию присоединения приложения Gmail, чтобы проверить это).
Теперь я пытаюсь найти, как сохранить файл, используя тот же метод (сохранить файл напрямую через приложение в облачное хранилище), и я сделал следующие изменения:
Для вызова getRoots,
row.add(Root.COLUMN_FLAGS, Root.FLAG_SUPPORTS_CREATE);
И я также преодолел метод createDocument
.
Я не вижу много примеров кода или документации о том, как это сделать. Я также вижу, что в нескольких приложениях, таких как приложение «Фотографии», есть кнопка «Поделиться», в которой используется другой метод (журналы показывают miniShareActivity), и мое приложение не отображается в этом (похоже, что используется другой механизм обмена файлами )
Я ищу информацию о
Как использовать SAF для хранения файла (любой файл-образец будет отличным или указывать на документацию). Я предполагаю, что это позволит пользователю использовать интерфейс выбора, чтобы перейти в папку и сохранить файл.
Как заставить приложение отображаться в списке приложений «Minishare activity» для импорта файла в приложение (похоже, что он не предоставляет интерфейс выбора, но я все равно хочу предоставить поддержку, чтобы файл был сохранен в Местоположение по умолчанию)
Кнопка Share, о которой вы говорите в других приложениях, вероятно, использует ACTION_SEND как действие Intent, а не ACTION_CREATE_DOCUMENT, которое было введено с помощью платформы доступа к хранилищу.
Вероятно, вы захотите поддержать их, поскольку ACTION_CREATE_DOCUMENT был введен только в KitKat, и более старые приложения могут не знать об этом. Аналогично, вы можете также поддержать действие Intent ACTION_GET_CONTENT для доступа на чтение на устройствах pre-KitKat (ACTION_GET_CONTENT обрабатывается SAF при запуске на KitKat +, но ваше приложение по-прежнему должно обрабатывать его при запуске на устройстве pre-KitKat). Являются ли <intent-filter>
s в вашем AndroidManifest настроен для соответствия всем этим типам Intent?