如何停止计划任务运行时,前台应用程序是活跃的windows phone 8
本文关键字:活跃 windows phone 应用程序 前台 计划 何停止 任务 运行时 | 更新日期: 2023-09-27 18:02:44
我以前发布过关于我的后台计划任务必须访问前台应用程序使用的SQLite DB和isolatedstorage的同步问题。
为了简化这个过程,我想只是阻止我的后台任务运行,它不是必须运行的,特别是当前台应用程序是活动的。
有办法做到这一点吗?
我想使用IsolatedStorage在应用程序启动时设置一个标志,然后在它退出时删除它,然后让后台任务检查设置,由互斥锁保护。
我认为这个想法在原则上是好的,但我想会有一些时候,当旗帜不是未设置,例如如果电池没电…这意味着,在打开手机后,如果用户从未使用过应用程序并正确退出,后台任务将永远不会运行。这可能不是太大的问题。
使用这样的某种标志是实现这种功能的唯一方法吗?
谢谢
有一个进程间通信机制来实现这个功能。由于前台应用程序和调度任务作为不同的进程运行,因此可以对其使用IPC。
请参考Named Events。
在你的OnInvoke方法中订阅一个命名事件,它将在你的前台应用程序启动/恢复时被触发。
一旦你在后台代理中通过这个事件得到一个信号,只需调用NotifyComplete,你就完成了