我正在开发一个xamarin表单应用程序,它需要自动更新,而无需使用应用程序市场解决方案(Play商店,App Center,...)。
我已经进行了大量搜索,从概念上讲它应该如下工作:
当我在浏览器中发出请求时,我的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");
}
}