我正在开发xamarin表单应用程序,需要在不使用应用程序市场解决方案(Play商店,App Center等)的情况下自动对其进行更新。
我已经进行了大量搜索,从概念上讲,它应该像下面这样工作:
当我在浏览器中发出请求时,我的WebAPI可以完美运行。我只需要一些C#源代码即可在Android设备上下载并安装.apk文件。
答案 0 :(得分:2)
如您所说,首先下载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");
}
}