如何使Xamarin Forms App自动更新?

问题描述 投票:0回答:1

我正在开发一个xamarin表单应用程序,它需要自动更新,而无需使用应用程序市场解决方案(Play商店,App Center,...)。

我已经进行了大量搜索,从概念上讲它应该如下工作:

  1. 该应用程序应从Web服务下载.apk文件;
  2. 必须创建某种服务才能删除当前的应用版本并安装下载的应用版本。

当我在浏览器中发出请求时,我的WebAPI工作正常。我只需要一些C#源代码来下载并安装android设备中的.apk文件。

c# android xamarin asp.net-web-api xamarin.android
1个回答
2
投票

如你所说,首先你下载de APK,然后,开始意图安装下载的文件。您可以调整存储位置和FileName

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");

     }
}
© www.soinside.com 2019 - 2024. All rights reserved.