簡體   English   中英

設備重置后,使用Windows Phone 8.1上的后台代理保存用戶位置

[英]Using background agents on Windows Phone 8.1 to save user location after device reset

因此,這就是我試圖使用后台代理解決的問題:即使設備重置(上下文運行的應用程序),當用戶在后台脫機時,我仍需要繼續記錄用戶位置。

為了解決這個問題,我使用了逐字逐句的定期任務, 任務確實在調試模式下工作。 但是,當我在一夜之間無人看管手機時,離開手機半小時后,該用戶只有一個日志。 沒有進一步的記錄被記錄(請記住,我使用了測試日志條目,而不是真正的GPS信號,這意味着我僅出於測試目的而觸發了簡單的日志寫入)。

我想念什么嗎? 這不是此問題的有效解決方案。 如果是這樣,請您提供一個原因,因為我找不到任何有關這種限制的文檔。

WP 8.1上的操作系統對於后台代理何時運行以及運行多長時間有一些非常嚴格的規則。 每30分鍾一次與此處的MSDN文檔以及我的觀察一致。 如果您的代碼編寫正確,則大約每30分鍾應該看到一個條目。 如果要為平板電腦編寫商店應用程序,則會有更多選擇。 在那里,相對於后台代理而言,操作系統的行為更為松懈(其中一些文獻沒有很好地記錄)。 由於您的目標是Win Phone,因此我不會在平板電腦上詳細介紹后台代理。

我不確定它是否適用於您的用例,但想到的一件事是讓用戶保持應用程序的運行。 您可以防止手機進入低功耗狀態並掛起您的應用程序(就像導航應用程序一樣)。 為此,請參見PhoneApplicationService.UserIdleDetectionMode 如果這樣做,請確保將屏幕變黑(或幾乎全黑),並適當地使用睡眠( await Task.Delay(...) )以節省電池。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM