Xamarin Forms, как сохранить файл в место, откуда его можно скопировать с исходного устройства

Приложение My Xamarin forms требует, чтобы пользователь выполнил определенную настройку, прежде чем его можно будет использовать. Кроме того, приложение может быть запущено на нескольких компьютерах одним и тем же пользователем (для этого есть веские бизнес-причины). Я хотел бы иметь возможность создавать резервную копию конфигурации приложения в файл, который затем можно использовать в другое устройство, чтобы точно таким же образом автоматически настроить приложение на новом устройстве. Это предотвратит повторный ввод пользователями всей информации о конфигурации на каждом устройстве, на котором они хотят запустить приложение.

О чем следует помнить:

  • Он должен работать на всех поддерживаемых платформах Xamarin Forms - UWP, Android, iOS и Mac.
  • Само приложение не требует, чтобы устройство было подключено к сети.
  • Файл должен быть сохранен в месте, где пользователь может получить к нему доступ / скопировать на другое устройство (например, USB-накопитель, общий сетевой ресурс и т. Д.).

Что я пробовал:

  • Я пробовал использовать подключаемый модуль FilePicker, но не смог сохранить его где-нибудь за пределами приложения. (Пользователю, пытающемуся найти здесь папку, будет непросто.) Сохранение в другом месте Я получил ошибку «Доступ запрещен».
  • Я попытался использовать пространство имен System.IO, но обнаружил ту же ошибку «Доступ запрещен» при сохранении файла где-нибудь за пределами приложения.

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


person George M Ceaser Jr    schedule 27.01.2020    source источник
comment
Нет, я не думаю, что вы можете скопировать файл из установленного приложения на USB. Вы можете загружать эти конфигурации на сервер и загружать их каждый раз (хотя эта опция не работает, если у пользователя нет сетевого подключения).   -  person Jack Hua    schedule 28.01.2020


Ответы (1)


Поэтому, попробовав несколько вещей и изучив возможные решения, я не смог найти способ легко это сделать. Вместо этого я использовал функцию буфера обмена Xamarin Essentials и скопировал содержимое файла в буфер обмена. Затем я показываю пользователю сообщение, предлагающее вставить содержимое буфера обмена в файл. Казалось, что это лучшее, что я мог сделать на данный момент.

person George M Ceaser Jr    schedule 11.02.2020