我的应用程序中有后台任务,每15分钟运行一次(在锁定屏幕上)。 在后台任务执行时是否可以检测我的应用程序是否正在运行?在这种情况下,我想跳过后台任务执行,以避免并发问题。
答案 0 :(得分:2)
您无法检测应用程序何时从后台任务运行,但您可以使用BackgroundTaskRegistration Progress和Completed事件检测后台任务何时从您的应用程序运行。
此示例涵盖了您应该需要的所有内容。 http://code.msdn.microsoft.com/windowsapps/Background-Task-Sample-9209ade9
答案 1 :(得分:1)
由于应用程序和后台任务都可以访问应用程序数据,因此应用程序在激活时会在ApplicationData.localSettings中存储一个标志,在暂停时清除该标志,并在恢复时重置该标志。然后,后台任务可以在启动时检查该标志并从那里做出决定。
答案 2 :(得分:0)
你考虑过共享的Mutex吗?这可以避免可怕的情况,例如后台任务失败并且没有清除它的活动标志,或者localSettings被破坏。