【发布时间】:2023-04-02 21:35:01
【问题描述】:
我之前发布过关于我的后台计划任务必须访问前台应用程序使用的 SQLite 数据库和独立存储的同步问题。
为了简化我想阻止我的后台任务完全运行的过程,它并不是必须运行的,尤其是在前台应用程序处于活动状态时。
有没有办法做到这一点?
我考虑过在应用启动时使用 IsolatedStorage 设置一个标志,然后在应用退出时将其删除,然后让后台任务检查设置,由互斥锁保护。
我认为这个想法原则上是好的,但我猜有时标志不会被取消,例如如果电池没电了......这意味着在打开手机后,如果用户从未使用应用程序并正确退出,后台任务将永远不会运行。这可能不是什么大问题。
使用像这样的某种标志是实现此类功能的唯一方法吗?
谢谢
【问题讨论】:
-
另外一个问题是当用户打开应用程序时后台任务可能正在运行,所以你不仅需要一个标志来表示后台任务可以运行,后台任务还需要自己的标志表示当前很忙。如果它很忙,则让用户在打开或激活应用程序时等待(最多 25 秒)。有没有人对此有任何其他想法或经验?谢谢。
标签: c# windows-phone-8 windows-phone scheduled-tasks