是否可以在锁定屏幕下跟踪加速度计值?
我设法编写了一个简单的应用程序,它使用一个计时器从1到100计数,该计时器触发我增加计数器的事件。
但是当我使用注册加速度计的ReadingChanged事件的处理程序时,一旦屏幕被锁定,它将不再被触发。即使我再次解锁屏幕,我也必须阅读我的处理程序。
答案 0 :(得分:3)
msdn文档在一页上说明: http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff941090(v=vs.105).aspx “在Windows Phone OS 7.1应用程序中禁用空闲检测的有效理由包括在手机锁定时核心功能仍在继续的情况(例如,运动跟踪应用程序)”
但传感器api也说: http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202968(v=vs.105).aspx
“当应用程序在锁定屏幕下运行时,无法使用传感器API。有关详细信息,请参阅Windows Phone的空闲检测。传感器API也不能在后台代理中使用。有关详细信息,请参阅后台代理概述对于Windows Phone“
我希望他们能尽快改变api,因为不可能编写任何良好的睡眠追踪/运动追踪应用...... :(
答案 1 :(得分:1)
在手动或自动锁定屏幕下,用户加速度计数据停止跟踪。
这里可能存在一个问题需要研究。
在锁定屏幕下,最好尽量减少用电量...禁用所有不必要的代码,例如ui更新。我对在CTP期间打开锁屏的空闲检测和运行动机的理解是为了响应地图/跟踪应用程序开发人员的大量反馈,基本上需要这些应用才能使他们的应用程序有用。
答案 2 :(得分:-3)
我不确定你想要在锁定屏幕下使用加速度计的使用情况。
应用程序通常在锁定屏幕下运行,当您需要它们在您不与设备交互时执行某些操作。例如播放音乐或下载大文件。
如果您想要加速度计数据,我会假设设备正在被保持,因此可能会看到。鉴于此,您为什么要在锁定屏幕下运行?
话虽如此,如果你有充分的理由这样做,你仍应该意识到:
当您的应用程序在锁定屏幕下运行时,它必须最小化 用电量
(来自Marketplace Certification Requirements。)
根据我的理解,从传感器读取值并不会最大限度地降低功耗。