我正在努力将我的WindowsPhone项目转换为Xamarin.Forms项目。
我有一个BackgroundUploader任务,用于在后台将我的视频文件上传到服务器。但是,我无法在Xamarin Forms中找到执行相同工作的类似类。
以下是我的WindowsPhone项目的BackgroundUploader代码。
请提出任何建议。
BackgroundUploader bguploader = new BackgroundUploader();
bguploader.SetRequestHeader(RequestHeader, jsonConverter.Serialize(Video));
UploadOperation upload = bguploader.CreateUpload(new Uri(url), videoFile);
Progress<UploadOperation> callback = new Progress<UploadOperation>(UploadProgress);
await upload.StartAsync().AsTask(canceltoken.Token, callback);
答案 0 :(得分:1)
这绝对是特定于操作系统的功能,并且在Xamarin.Forms中没有内置解决方案。
正如您所提到的 BackgroundUploader
是适用于 UWP 和Windows Phone
的解决方案。
有关 iOS 后台执行的部分信息,请查看the documentation。您可能会使用NSURLSessionUploadTask
。
在 Android 上,您应该查看后台服务。请参阅Android documentation。
要以跨平台方式实现此目的,您必须创建共享接口,然后提供特定于平台的实现。有关详细信息,请参阅Xamarin.Forms DependencyService。