我有一个使用Xamrin Forms和Prism的非常简单的MVVM应用程序,该应用程序是从Prism Xamarin模板构建的。
当我初始化一个新的ViewModel时,我想调用一个API,在UWP上,它没有任何问题,但是在Android上,它只是冻结,不返回任何错误或引发任何异常。
我将代码简化到了发生错误的地方,并使用任何人都可以使用的URI进行了测试。
public async Task InitializeAsync(INavigationParameters parameters)
{
try
{
var client = new HttpClient();
var response = await client.GetAsync("https://www.google.co.uk").ConfigureAwait(false);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
}
我正在使用下面的NuGets
我已将HttpClient实现设置为Android和本机TLS 1.2+
我查看了其他几篇相似的文章,但对解决该问题并不高兴,有人能说明我如何解决该问题或使其正常工作吗?
经过一段时间的故障排除并将我的头撞在砖墙上后,我终于弄明白了出了什么问题。
没有什么!
在Android上跳过并没有越过下面的第7行,并且屏幕没有在重新绘制。
var response = await client.GetAsync("https://www.google.co.uk").ConfigureAwait(false);
当我将手机旋转90度时,屏幕将重新绘制,我可以看到请求已生效。