簡體   English   中英

在服務或Android活動中注冊位置更新更好嗎?

[英]Is it better to register for Location updates in Service or in Activity for Android?

在我正在開發的一個應用程序中,我正在服務中注冊位置更新。 這是更好的方法嗎? 這樣,應用程序邏輯將使服務在應用程序之前一直處於活動狀態。

有時我遇到問題,例如,一旦服務運行且位置更新正常工作。 但是大約4-5個小時后,位置更新會自動停止,因此我相信一段時間后系統會自動停止服務。 如果我在這里錯了,請糾正我。

在這種情況下,我將不得不從活動而非服務中注冊位置偵聽器。 有人可以告訴我我是否正確理解它?

但是大約4-5個小時后,位置更新會自動停止,因此我相信一段時間后系統會自動停止服務。

這聽起來像onStartCommand()需要return START_STICKY ,這應該使您的服務一直保持到明確停止為止(請確保您的用戶知道此持續運行的服務會增加電池的電量,具體取決於您執行的所有服務) )。

在這種情況下,我將不得不從活動而非服務中注冊位置偵聽器。

在Activity的上下文中注冊了任何偵聽器后,該偵聽器將僅在該Activity具有用戶焦點時才能正確運行(請參閱管理應用程序生命周期 )。 當您的活動被暫停或殺死時,您的聆聽也將停止; 遠程服務是更好的選擇。

暫無
暫無

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

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