Xamarin.Android 中的后台执行
Posted
技术标签:
【中文标题】Xamarin.Android 中的后台执行【英文标题】:Background execution in Xamarin.Android 【发布时间】:2019-09-16 23:43:23 【问题描述】:我想在我的Xamarin.android
应用程序的后台执行一些代码。例如,发出 HTTP 请求并在服务器端执行一些操作,获取响应并更新 UI。
那么,我真的应该为此使用 Android 特定组件,例如 AsyncTask
、IntentService
等吗?我可以在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的任何插件用于选择保存文件的目录?
对于Xamarin Android,我无法处理点击事件的后台通知
Xamarin.Android FCM 通知在应用程序关闭/后台时不显示在 HUD 中