如何使Xamarin Forms App自动更新?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使Xamarin Forms App自动更新?相关的知识,希望对你有一定的参考价值。

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

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

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

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

答案

如你所说,首先你下载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");

     }
}

以上是关于如何使Xamarin Forms App自动更新?的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Forms开发APP

Xamarin.Forms 如何使按钮出现在一行中

(持续更新)Xamarin.Forms之常见的问题

如何在Xamarin.Forms框架内填充和展开按钮

Xamarin.Forms 上的音乐文件节奏和强度检测

如何在 Xamarin Forms App 中实现 SSO?