2013-08-27 3 views
1

현재 위치를 사용하는 Windows Phone 앱을 개발 중이며 7 OS에서 앱을 만들고 있습니다. 내 질문은, 배경을 추적 할 수 있습니까, 즉 화면이 잠겨있을 때입니까? GeoLocator 클래스를 제공하므로 wp8에서이 기능을 사용할 수 있습니다. 그러나 wp7에서이 기능을 사용할 수 있습니까? 나는 기본적으로 실행기 응용 프로그램을 만들고 있으므로 내 앱이 배경을 추적 할 때도 해당 위치를 추적 할 수 있기를 바랍니다. 실제로 가능합니까? 귀하의 도움은 항상 감사하겠습니다 !!백그라운드에서 위치 추적

답변

1

그것처럼 예를 들어, 엔도 몬도 (Endomondo)의 앱, 잠금 화면에서 실행되는 응용 프로그램을 유지하는 것이 가능하다.

Idle Detection을 사용하면 화면이 잠겨 있어도 앱을 켜놓고 계속 추적 할 수 있습니다. 사실, 백그라운드에서 실행되지 않고 포 그라운드에서 실행됩니다. 화면이 잠겨 있습니다. 따라서 사용자의 배터리를 소진하지 않도록주의하십시오.

당신은 App.xaml.cs를InitializePhoneApplication() 방법, 예를 들어, DisabledPhoneApplicationService.ApplicationIdleDetectionMode 속성을 설정해야합니다 : 응용 프로그램이 유형의 특수 인증 요구 사항이 있다는 것을

PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled; 

참고. 다음 페이지의 섹션 6.3 (앱이 잠금 화면에서 실행)를 참조하십시오 : 응용 프로그램이 백그라운드에서 갈 때 내 페이지 생성자에서이 줄을 썼다

Additional requirements for specific app types for Windows Phone

+0

, 여전히 어떤 위치를 추적하지 않습니다, 내가 만든 8 개의 OS를 사용하는 동일한 샘플에서 동일한 GeoCoordinateWatcher 클래스와 해당 이벤트가 앱이 백그라운드에서 작동한다고하더라도 위치 추적 및 위치 변경 이벤트도 발생할 수 있습니다. 서로 다른 OS에서 동일한 클래스와 다른 동작이있는 경우 API에 수정이 있습니까? –

+0

하지만 화면 잠금 (잠금 버튼) 또는 홈 페이지 (Windows 버튼)로 먼저 이동합니까? 지금 WP7 장치에서 시도 할 수는 없지만 운동을하면 Endomondo 앱을 사용합니다. WP7 및 8에서이 방법으로 작동하는 것이 확실합니다. – anderZubi

+0

"PhoneApplicationService.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;" 이 줄은 응용 프로그램이 잠금 모드로 전환되는 것을 방지하지만 Windows 버튼을 누르면 어떻게됩니까? 이 시나리오에서는 작동하지 않지만 Windows 키를 누른 후에 응용 프로그램을 디버깅 할 수 없었지만 8 키로 만든 응용 프로그램은 시작 키를 눌러도 디버깅 중이었습니다. –

1

하여 GeoCoordinateWatcher 클래스는 WP7에 존재하지만 여기 MSDN의 설명서입니다 -

이 API의 지리적 좌표를 얻기 위해 사용 장치 은 백그라운드 에이전트에서 사용하도록 지원되지만 대신 캐시 된 위치 값을 사용합니다 (). 캐시 된 위치 값은 15 분 간격으로 장치로 업데이트 된 입니다.

추가 정보 : http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202962%28v=vs.105%29.aspx/css