2013-03-07 3 views
0

GPS 추적기를 개발 중입니다. GPS로 좌표를 수신 할 수있는 WM6.5의 경우. 모두 잘 작동하지만 화면이 잠겨있을 때 하나의 문제가 있습니다. 패킷이 전송되고 있지만 GPS가 작동하지 않습니다 (동일한 위치를 보여줍니다).하지만 내 전화를 깨우면 GPS가 다시 작동하기 시작합니다.WM6.5 잠금 화면이 GPS 서비스를 끕니다

화면이 잠겨있을 때 GPS 서비스를 계속 실행하려면 어떻게해야합니까? HTC Touch 2로 테스트 중이며 C#으로 작성되었습니다. GPS의 경우 Microsoft.WindowsMobile.Samples.Location 라이브러리를 사용하고 있습니다.

답변

0

윈도우 모바일 장치를 다른 전원 states.See HKEY_LOCAL_MACHINE \ 시스템을 알고 \ CURRENTCONTROLSET

SetPowerRequirement API 호출을 사용하여 특정 최소 전원 상태를 요청할 수있는 응용 프로그램 ... 제어 \ 전원 \ http://msdn.microsoft.com/en-us/library/ms920689.aspx합니다. 어느 장치가 전원 요구 사항 이하로 떨어지지 않아야 하는지를 지정하는 대신 응용 프로그램에 대한 일반 요구 사항을 지정할 수도 있습니다 (http://www.hjgode.de/wp/2009/07/14/howto-run-an-application-periodically/#more-193, SetPowerRequirement 및 SetSystemPowerState 사용).

장치를 최대 절전 모드로 만들지 않으려면 SetSystemPowerState를 사용하는 것이 좋습니다. GPS 포트 및 GUID를 알고있는 경우 SetPowerRequirement를 장치 이름과 함께 사용할 수도 있습니다.

Control \ Power 분기를 변경하여 이름이 지정된 전원 상태에있는 장치의 동작을 변경 한 경험이 없습니다.

PowerStyle_Unattended를 사용하여 SetSystemPowerState를 시도하거나 사용자가 '장치 유지'를 선택할 수 있도록 할 수 있습니다.

+0

답변을 주셔서 감사합니다. 답변은 매우 좋지만, 전화 서비스와 같은 프로그램을 실행하는 것이 좋습니다. 화면을 잠그면 내 전화 서비스가 문제없이 작동합니다. 그리고 화면이 잠겨있을 때 GPS 서비스로 같은 일을하고 싶다면이 서비스를 끄지 말고 전화 서비스처럼 일할 수 있습니까? – user1360571

+0

서비스에 관계없이 모든 프로세스는 일시 중단 모드로 고정됩니다. 하드웨어 인터럽트만이 장치를 깨울 수 있습니다. 이러한 hw 인터럽트는 들어오는 전화 또는 SMS, 하드웨어 다시 시작 버튼 누르기, 연결된 BT 헤드셋의 통화 버튼 누르기, 시계에 설정된 알람 등으로 생성됩니다. 운전자와 서비스조차도 동결됩니다. hw 인터럽트에 연결된 GPS 장치가 있으면 GPS가 장치를 다시 시작할 수 있습니다. 일시 중지 (절약 저장 상태)와 무인 상태 (백라이트 꺼짐)를 혼합하지 마십시오! – josef

0

이것은 아마도 장치가 잠자기 상태 일 것입니다. 깨어 있어도 배터리가 빨리 소모됩니다. 모바일 장치는 거의 즉시 최대 절전 모드 상태로 전환되도록 설계되어 충전이 오래 지속됩니다.

배터리 수명에 문제가 없다면 전원 설정으로 들어가서 절대 꺼지 말라고 할 수 있습니다. 그러나 배터리가 모두 소모되면 장치가 손상 될 위험이 있습니다.

관련 문제