Xamarin Формы, как сохранить файл в место, где его можно скопировать с исходного устройства - PullRequest
0 голосов
/ 27 января 2020

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

Что следует иметь в виду:

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

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

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

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

1 Ответ

0 голосов
/ 11 февраля 2020

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

...