Как сделать приложение Xamarin Forms автоматически обновленным? - PullRequest
0 голосов
/ 29 января 2019

Я занимаюсь разработкой приложения для форм xamarin, и его нужно автоматически обновлять, не используя решения для рынка приложений (Play Store, App Center, ...).

Я уже провел большой поиск, и концептуально он должен работать следующим образом:

  1. Приложение должно загружать файл .apk из веб-службы;
  2. Должен быть создан какой-то сервис для удаления текущей версии приложения и установки загруженной версии.

Мой WebAPI работает отлично, когда я делаю запрос в браузере.Мне просто нужен исходный код C # для загрузки и установки файла .apk в устройстве Android.

1 Ответ

0 голосов
/ 29 января 2019

Как вы сказали, сначала вы загружаете de APK, а затем просто запускаете намерение установить загруженный файл.Вы можете адаптировать место хранения и имя файла

public void DownloadFile(string m_uri, string m_filePath)
{
    var webClient = new WebClient();

    webClient.DownloadFileCompleted += (s, e) =>
    {
        string error = e.Error.Message;
        //var bytes = e.Result; // get the downloaded data
        string documentsPath = Android.OS.Environment.ExternalStorageDirectory + "/download/";


        Intent promptInstall = new Intent(Intent.ActionView).SetDataAndType(Android.Net.Uri.FromFile(new Java.IO.File(Android.OS.Environment.ExternalStorageDirectory + "/download/" + "FileName.apk")), "application/vnd.android.package-archive");
                promptInstall.AddFlags(ActivityFlags.NewTask);
                StartActivity(promptInstall);    
            };

        var url = new System.Uri(m_uri);

        webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgressCallback);
        webClient.DownloadFileAsync(url, Android.OS.Environment.ExternalStorageDirectory + "/download/FileName.apk");

     }
}
...