5

我的应用程序中有后台任务,每 15 分钟运行一次(在锁定屏幕上时)。执行后台任务时是否可以检测我的应用程序是否正在运行?在这种情况下,我想跳过后台任务执行,以避免并发问题。

4

3 回答 3

2

您无法检测应用程序何时从后台任务运行,但您可以使用 BackgroundTaskRegistration Progress 和 Completed 事件检测后台任务何时从您的应用程序运行。

此示例涵盖了您应该需要的所有内容。 http://code.msdn.microsoft.com/windowsapps/Background-Task-Sample-9209ade9

于 2013-10-12T14:53:11.883 回答
1

因为应用程序和后台任务都可以访问应用程序数据,所以在应用程序激活时让应用程序在 ApplicationData.localSettings 中存储一个标志,在暂停时清除标志,并在恢复时重置标志。然后,后台任务可以在启动时检查该标志并从那里做出决定。

于 2013-10-13T16:14:49.800 回答
0

您是否考虑过共享互斥锁?这可以避免(例如)后台任务失败并且没有清除其活动标志或 localSettings 损坏的可怕情况。

于 2015-08-10T11:02:00.553 回答