2013-08-27 95 views
1

我正在開發一個使用用戶當前位置的Windows Phone應用程序,我正在使用7 OS的應用程序。我的問題是,我可以跟蹤背景中的位置,即屏幕鎖定時的位置嗎? 我知道這是wp8的可能性,因爲它爲我們提供了GeoLocator類,但是我可以在wp7中實現這一點嗎?我基本上是做一個runtracker應用程序,因此我希望我的應用程序能夠跟蹤位置,即使它在後臺,它是否真的可行? 您的幫助總是感激!背景中的位置跟蹤

回答

1

有可能保持應用程序在鎖定屏幕上運行,因爲它,例如,運動追蹤應用程序。

使用Idle Detection,即使屏幕已鎖定,您仍然可以打開應用程序,並且可以繼續跟蹤位置。實際上,它並不是在後臺運行,而是在前臺運行。只是屏幕被鎖定。所以,請注意不要流失用戶的電池。

你必須在PhoneApplicationService.ApplicationIdleDetectionMode屬性設置爲Disabled,例如在InitializePhoneApplication()方法App.xaml.cs

PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled; 

注意,有這種類型的應用程序的特殊認證要求。請參閱下頁的6.3節(應用程序鎖定屏幕下運行):

Additional requirements for specific app types for Windows Phone

+0

我寫在我的頁面構造這條線,它仍然不是當應用程序進入後臺跟蹤的任何位置,我做了同樣的樣本使用8個OS,並且發現相同的GeoCoordinateWatcher類和它的事件即使在應用程序處於後臺時也能正常工作,我能夠跟蹤位置和位置變化的事件也被解僱了,它是怎麼回事?在不同的操作系統中有相同的類和不同的行爲,api中是否有任何修訂? –

+0

但是,你只是鎖定屏幕(鎖定按鈕),或者你先回家的主頁(Windows按鈕)?我現在無法在WP7設備上試用它,但是我在鍛鍊時使用了Endomondo應用程序,並且我非常確定它在WP7和8中都可以這樣工作。 – anderZubi

+0

「PhoneApplicationService.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;」這行禁止應用程序進入鎖定模式,但如果我按下Windows按鈕怎麼辦?這在這種情況下無法工作,我無法在按下Windows鍵後調試應用程序,但在8操作系統中製作的應用程序即使在按下啓動鍵時也會進行調試。 –