2017-10-13 109 views
0

我正在嘗試開發一個UWP應用程序,能夠持續跟蹤用戶在進程中的後臺任務中的位置。我一直在尋找GitHub上的微軟示例代碼(geolocation/Secenario3_BackgroundTask),但問題在於它基於TimeTrigger。 TimeTrigger允許的最短時間間隔是15分鐘,但我需要更頻繁地獲取位置更新。我們至少每分鐘說一次。這可能嗎?UWP後臺任務位置跟蹤

我已經看到有一個LocationTrigger,但沒有太多的文檔。我不明白這個觸發器何時被解僱。在我的測試中,它從未被解僱。

回答

1

LocationTrigger用於Geofencing,它在移動設備進入或離開特定區域時被觸發。

正如您所說,TimeTrigger不符合您的要求,因爲它的間隔至少爲15分鐘。

Windows 10引入了一種名爲extended execution的新機制。位置跟蹤是一種受支持的方案,在該方案中,您要求操作系統在另一個應用切換到前臺時讓您的應用繼續運行。

這是您的sample

+0

謝謝,這確實很好! – user1195883

+0

還有一件事:現在在後臺運行它24小時後,我得到了一個'ExtendedExecutionRevokedReason.SystemPolicy'回調。那是預期的行爲? – user1195883

+1

這是預期的,系統可以在任何point_上撤消會話。從doc:'SystemPolicy':後臺執行由於系統資源而被撤銷。注意系統資源,如內存使用情況和電池。 [本頁](https://docs.microsoft.com/en-us/windows/uwp/launch-resume/run-minimized-with-extended-execution)有更多信息。 – kennyzx