应用程序暂停时收集加速度计读数

时间:2016-06-16 20:20:53

标签: c# .net timer win-universal-app

Windows 10 Universal App在DispatcherTimer上使用1秒间隔来收集并扣除设备的加速度计读数。

要求即使用户暂停应用程序(未“终止”),此过程仍应继续。

一种可能的解决方案是使用时间触发器注册后台任务,但与所需的1秒相比,它允许的最短间隔为15分钟。

1 个答案:

答案 0 :(得分:1)

您可以使用扩展执行会话。通过使用此会话,即使应用程序转到后台,您也可以阻止应用程序暂停。 但是......这是一件很重要的事情......这是一种“尽力而为”的服务。 OS可以随时“撤销”您的延长执行时间。

根据我的经验(使用我的1GB内存电话),如果您运行的只有1-2个应用程序,目标应用程序可以继续运行。 但是,运行4-5个应用程序,目标应用程序的扩展执行会间歇性地撤销。

以下链接可能会对您有所帮助。

应用程序生命周期 - 使应用程序与后台任务和扩展执行保持一致 https://msdn.microsoft.com/en-us/magazine/mt590969

单一过程模型的后台活动 https://blogs.windows.com/buildingapps/2016/06/07/background-activity-with-the-single-process-model/