首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ApplicationIdleDetectionMode和DispatcherTimer

ApplicationIdleDetectionMode和DispatcherTimer
EN

Stack Overflow用户
提问于 2011-04-26 21:59:30
回答 1查看 710关注 0票数 0

我目前正在解决一个我无法解决的问题...

我已经开发了一个WP7应用程序,它定期向服务发送位置更新。因此,我使用的是DispatcherTimer,它工作得很好。现在,我也想在屏幕锁定时执行此操作。因此,我在InitializePhoneApplication()之后的App()中将ApplicationIdleDetectionMode设置为"Disabled“。

现在我有一个非常奇怪的行为,因为在屏幕锁定时运行的计时器似乎结束了,但我不能再次启动它。调用了timer.Start(),但没有调用Tick-Event。当我在我的设备上解锁屏幕时,它又开始工作了…

有谁知道怎么解决这个问题吗?或者其他的建议,我怎样才能达到这样的行为?

问候Dominik

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-28 16:30:05

我很惊讶,框架本身会在应用程序被锁定时停止活动的计时器,而ApplicationIdleDetection被禁用,尽管这是一种明显的可能性。在RunKeeper中,我们不使用DispatcherTimer来做这件事,我们使用Observable.Timer来跟踪用户在某个活动上的时间。

无论如何,我要建议的一件事是,每隔一段时间发送位置数据可能并不是最有效的。如果你在位置服务上设置了一个移动阈值,那么当用户的位置发生变化时,你只会得到一个位置,然后你可以在每次位置发生变化时发送位置数据。为了在设备锁定时保存电池电量,您可以存储位置,然后在应用程序重新激活时发送它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5791468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档