2013-03-07 84 views
0

我正在开发一个GPS跟踪器对于WM6.5,它可以接收GPS坐标并发送到。所有工作正常,但我有一个问题,当屏幕锁定:数据包发送但GPS不起作用(它显示相同的位置),但当我唤醒我的手机然后GPS开始工作了。WM6.5锁定屏幕关闭GPS服务

我如何能我把GPS服务运行时的屏幕被锁定?我正在测试HTC Touch 2,我的解决方案是用C#编写的。对于GPS,我使用的是Microsoft.WindowsMo​​bile.Samples.Location库。

回答

0

Windows Mobile设备知道不同的功率states.See HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \控制\电源...

应用程序可以使用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和设备名称。

我有改变控制\电源分支改变一个名为电源状态中的设备的行为没有任何经验。

你可以试试用SetSystemPowerState或Power_State_Unattended允许用户选择“保存设备ON”。

+0

感谢答案是很好的答案,但我想运行我的程序像电话服务......当我锁屏My Phone服务工作没有问题吧?并且我想在屏幕锁定时使用GPS服务做同样的事情不要关闭此服务并像电话服务一样工作......这可能吗? – user1360571 2013-03-09 09:19:00

+0

无论服务与否,所有进程都会在暂停模式下冻结。只有硬件中断才能唤醒设备。这样的hw中断例如由来电或SMS产生,按下恢复硬件按钮,按下连接的BT耳机上的呼叫按钮,以时钟方式设置闹钟。即使司机和服务也被冻结。如果您的GPS设备连接到hw中断,则GPS可以从恢复中唤醒设备。不要将暂停(pwer保存状态)与无人值守(背光关闭)混合! – josef 2013-03-09 17:42:32

0

这可能是因为设备正在睡觉。如果保持清醒状态,电池会很快耗尽。移动设备被设计成几乎立即进入休眠状态,以便它们持续更长时间的充电。

如果电池的寿命是不关心的,你可以进入电源设置,并告诉它从未熄灭过。但是,如果电池耗尽,您可能会遇到死亡设备。