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