我有一个共享功能,邮件应用程序可以通过单击共享按钮打开我的应用程序。当用户点击来自邮件应用程序的共享时,我可以打开我的应用程序,问题在于OpenUrl方法。
以下是我的OpenUrl方法:
public override bool OpenUrl(UIApplication application, NSUrl url, string sourceApplication, NSObject annotation)
{
Upload(url);
return true;
}
async public Task<bool> Upload(NSUrl SharedUri)
{
//upload
}
上述代码的问题是因为在上传功能完成应用程序打开之前,不等待Upload
功能。
我如何等待OpenUrl
中的任务?
答案 0 :(得分:0)
这里有很多选项,其中一个是返回上传的结果。记得等待上传内的耗时任务。
public override bool OpenUrl(UIApplication application, NSUrl url, string sourceApplication, NSObject annotation)
{
return this.Upload(url).Result;
}
async public Task<bool> Upload(NSUrl SharedUri)
{
await SomeUploadTask();
return true;
}
我同意Sunil的说法,你应该向用户显示一些动作的指示,这是你应该使用的控件:https://developer.xamarin.com/api/type/Xamarin.Forms.ActivityIndicator/