我正在为 WM6.5 开发一个 GPS 跟踪器,它可以接收 GPS 坐标并将其发送到。一切正常,但是当屏幕锁定时我有一个问题:数据包正在发送但 GPS 不起作用(它显示相同的位置)但是当我唤醒手机时,GPS 又开始工作了。
如何在屏幕锁定时保持 GPS 服务运行?我正在使用 HTC Touch 2 进行测试,我的解决方案是用 C# 编写的。对于 GPS,我使用的是Microsoft.WindowsMo bile.Samples.Location 库。
我正在为 WM6.5 开发一个 GPS 跟踪器,它可以接收 GPS 坐标并将其发送到。一切正常,但是当屏幕锁定时我有一个问题:数据包正在发送但 GPS 不起作用(它显示相同的位置)但是当我唤醒手机时,GPS 又开始工作了。
如何在屏幕锁定时保持 GPS 服务运行?我正在使用 HTC Touch 2 进行测试,我的解决方案是用 C# 编写的。对于 GPS,我使用的是Microsoft.WindowsMo bile.Samples.Location 库。
这可能是因为设备将要休眠。如果它保持清醒状态,电池将很快耗尽。移动设备被设计为几乎立即进入类似休眠状态,以便它们在充电时持续更长时间。
如果电池寿命无关紧要,您可以进入电源设置并告诉它永远不要关闭。但是,如果您的电池耗尽,您可能会遇到设备损坏的风险。
Windows Mobile 设备知道不同的电源状态。请参阅 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power...
应用程序可以使用 SetPowerRequirement API 调用请求特定的最低电源状态:http: //msdn.microsoft.com/en-us/library/ms920689.aspx。除了指定哪个设备不应低于电源要求之外,您还可以指定应用程序的一般要求:http ://www.hjgode.de/wp/2009/07/14/howto-run-an-application-定期/#more-193使用 SetPowerRequirement 和 SetSystemPowerState。
如果您想避免设备进入休眠模式,我建议使用 SetSystemPowerState。如果您知道 GPS 端口和 GUID,还可以将 SetPowerRequirement 与设备名称一起使用。
我没有更改 Control\Power 分支以更改设备在命名电源状态下的行为的经验。
您可以尝试 SetSystemPowerState 和 Power_State_Unattended 或让用户选择“保持设备开启”。