1

我正在使用运行 WinMo 6.5 Standard 的 HTC Snap,我有一个看似简单的要求 - 当设备进入“BacklightOff”电源模式时,应用程序需要继续收集 GPS 位置数据。默认情况下,设备会关闭 GPS 接收器。

在过去的两天里,我尝试了很多事情来实现这一目标。我已经阅读了 MSDN 论坛中的稀疏 信息。什么都没有唤醒我的设备。

我已经阅读了Joel 的 CodeProject 文章并在那里尝试了几件事,包括调用 DevicePowerNotify、SetDevicePower 和 SetPowerRequirement。这些都没有任何效果。

我尝试调用PowerPolicyNotify和 SystemIdleResetTimer 来尝试让它在无人值守模式下运行。设备仍然进入低功耗模式(是的,它忽略了 SystemIdleTimerReset 调用,从 C# 和 C 中尝试过)。

我尝试修改注册表中的电源配置文件。设备重置之前或之后没有效果。

我认为自己在为这些事情编写应用程序方面至少有点精通,但是这个真的让我碰壁了。基本上,这款特定的手机似乎没有使用 CE 电源管理器,而是在做自己的事情。有没有人对这个特定平台有任何经验,并试图用它的电源(或背光)配置文件来改变任何东西?基于经验的任何建议或想法?

4

2 回答 2

0

所以答案最终是真的没有办法控制它。事实上,从设备到设备的外围设备的电源行为似乎有点标准化(使用不同的 HTC 设备,它工作得很好)。最后,我建议客户要么找到不同的硬件,要么迁移到 WinMo 以外的平台,该平台对此进行了一些标准化。

于 2010-10-14T18:44:18.943 回答
0

看来 HTC 在电源管理方面有自己的想法。它不关心 Joel 文章或 Windows Mobile 建议。

我也有一台 HTC Touch Pro 2,在这台设备上开发和测试 GPS 花了大约 3 周时间几乎耗尽了我所有的资源。最后,我放弃了,决定解决 GPS 问题的唯一方法是

  1. 在 C# 中为我的程序使用无人参与模式。
  2. 在 C# 中从我的程序设置设备电源要求
  3. Set the device not to suspend from the system settings. (it was not honoring Unattended mode, nor SystemIdleReset)

Conclusion: Watch out of consumer devices when developing applications that need to continue run on the background.

于 2011-04-08T07:52:01.230 回答