xamarin.forms - 如果应用程序被取消,我如何编写一个可以工作的后台服务
问题描述
我正在编写一个具有 UI 的 Xamarin Forms App(C#),它从用户那里获取数据并将其数据传递给后台线程/服务以发送到服务器。数据首先保存到本地数据库以进行安全保存。(清理将在稍后)
即使应用程序被最小化或关闭(将其从屏幕上滑出),我也需要一项服务或能够保证数据交付的东西。我在寻找不存在的东西吗?
我尝试了一个 IntentService,它似乎做了我想做的事,但如果我杀死了 UI,它就会停止。我尝试了一个真正的服务,如果我终止 UI,它也会停止,但我可能没有正确设置它。
此外,服务似乎在 UI 线程上运行。那有什么好处?我无法让它作为 BackgroundWorker 运行,无论是在 worker 内部使用 StartService,所以我尝试正常运行该服务,并在 StartCommandResult OnStartCommand 中,将数据获取/保存方法作为任务或线程调用。只要应用程序保持活动状态,它就可以工作。我也查看了 AsyncTask 以及 AlarmManager。
我错过了什么???
解决方案
推荐阅读
- python - 是否有更简单的语法来初始化初始化程序中的多个变量?
- laravel - 具有可变前缀和条件的 Laravel 路由组
- android - 如何在 Android 中的几个 ToggleButtons 上切换语句
- java - Hbase客户端读取不同用户进行读写
- css - mix-blend-mode - 使属性变暗/将标题与某种颜色混合
- pandas - 由于 Numpy 依赖,在 Spyder 中导入 Pandas 失败
- graphql - Hot Chocolate 无法为输入类型的字段设置默认值
- perl - 修改 Mojolicious 中的默认控制器/模型路径
- javascript - 使用递归函数找到给定整数的阶乘
- node.js - 将标头发送到客户端后无法设置标头(当我点击 axios post requrest 时出错)