2014-02-17 68 views
1

我必須創建一個後臺任務,它應該在每1分鐘後運行,並且應該調用Rest服務來更新Mobile的經度和緯度位置。爲此目的而寫的其他服務已經寫好了,我必須做的就是在我現有的應用程序中編寫一個應該執行此更新的任務。你們可以請告訴哪一種是最簡單的方式來實現這一功能。在Windows phone 8創建一個後臺服務來更新位置

感謝,

+0

你有什麼試過的?你看看[BackgroundAgents](http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202942(v = vs.105).aspx),特別是預定的? – Romasz

+2

MSDN涵蓋了一系列教程中的這一點:http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj662935(v=vs.105).aspx – WiredPrairie

回答

3

沒有存在於Windows桌面像一個服務的概念。應用程序正在運行,或不在電話中。跟蹤位置的手機上的一個應用程序可以在其他應用程序運行時在後臺運行。

如果您的應用程序處於前臺,您將直接調用具有更新位置的Web服務。

您可以使用scheduled background agent定期更新位置,但很可能它不會經常更新以滿足您的需求。

MSDN有details有關如何創建一個在後臺主動跟蹤位置的應用程序,但有一些重要的限制,並考慮應用程序可能會被停用:

  • 該應用程序將停止主動跟蹤位置。應用程序通過移除Geolocator類的PositionChanged和StatusChanged事件的事件處理程序或通過調用GeoCoordinateWatcher類的Stop()方法來停止跟蹤位置。
  • 該應用程序已在後臺運行4個小時,無需用戶交互。
  • 節電器處於活動狀態。
  • 設備內存不足。
  • 用戶在手機上禁用定位服務。
  • 另一個應用程序開始在後臺運行。

此外,還有一個complete tutorial可用於此方案。

+0

這是一個完全在背景我不希望發生這種情況。我有一個現有的應用程序有一個用戶界面。我必須將此功能與該應用程序集成。你可以說我想要一個線程運行並執行這個任務,但該線程應該獨立於應用程序的其餘部分。 –

+1

我增加了一點細節。如果您的應用程序處於前臺,您只需調用您構建的API。 – WiredPrairie