Xamarin.Android 中的后台执行

Posted

技术标签:

【中文标题】Xamarin.Android 中的后台执行【英文标题】:Background execution in Xamarin.Android 【发布时间】:2019-09-16 23:43:23 【问题描述】:

我想在我的Xamarin.android 应用程序的后台执行一些代码。例如,发出 HTTP 请求并在服务器端执行一些操作,获取响应并更新 UI。

那么,我真的应该为此使用 Android 特定组件,例如 AsyncTaskIntentService 等吗?我可以在Task.Run 中运行我的代码吗? C#/Mono 中是否有有用的方法来实现我的目的?

【问题讨论】:

如果您在应用程序处于前台时执行这些后台操作,那么是的,Task.Run 使用工作池中的线程就可以了。如果您正在考虑在应用程序在后台执行操作,则需要基于平台的编码,请查看处理所有各种 API 级别特性的新 Android WorkManager:devblogs.microsoft.com/xamarin/getting-started-workmanager 【参考方案1】:

您应该使用C# model of asynchronous programming,它在大多数 Xamarin 应用程序中广泛使用。基本上,您的方法返回“异步任务”对象,然后您可以“等待”而不阻塞 UI 线程。

编辑

我还找到了一些related information specific to Xamarin。

【讨论】:

以上是关于Xamarin.Android 中的后台执行的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Forms / Xamarin.Android的任何插件用于选择保存文件的目录?

目标平台部分中的 IOS 选项为灰色且不可点击

对于Xamarin Android,我无法处理点击事件的后台通知

Xamarin.Android FCM 通知在应用程序关闭/后台时不显示在 HUD 中

以编程方式将视图添加到 Xamarin.Android C# 中的 GridLayout

VS/Xamarin Android开发Follow Me