如果我需要在我的應用程序中實現GPS,只有當應用程序處於前臺時用戶才能執行此操作 - 用戶在一個活動中執行某些操作,將此活動更改爲另一個等,但是當用戶關閉應用程序或將其最小化時那麼我想讓它關閉。應用類或服務中的GPS?
我不知道哪種方法會更好。在應用程序類或服務中實現GPS?
如果我需要在我的應用程序中實現GPS,只有當應用程序處於前臺時用戶才能執行此操作 - 用戶在一個活動中執行某些操作,將此活動更改爲另一個等,但是當用戶關閉應用程序或將其最小化時那麼我想讓它關閉。應用類或服務中的GPS?
我不知道哪種方法會更好。在應用程序類或服務中實現GPS?
我不確切知道哪裏更好,但是無論您將位置監聽器放在哪裏,都無法準確知道Android系統何時會殺死您的應用程序。要知道您的應用程序何時處於前臺/後臺,您可以實現一個綁定服務,該服務綁定於應用程序中每個活動的onStart()方法,並在onStop()中解除綁定。如果沒有綁定活動,則服務會自動停止,然後刪除位置更新偵聽器。我希望這可以幫助你。
這很有幫助:)但是用戶在哪些活動之間切換的情況呢? onStop,然後onStart每次都會被調用,並且服務將在每次活動更改中解除綁定。 –
是的,你說得對。我會嘗試它:)所以,我應該實現的服務,onCreate獲得系統gps服務並啓動服務,然後每個活動onStart綁定它並onStop解除綁定它? BTW。服務工作,如果有至少一個綁定,是啊? –
我選擇實施一項服務,它的工作非常完美! :) –
在應用程序類實現它,然後在的onResume和方法的onPause覆蓋啓用和禁用GPS監聽
我認爲這是個好主意。但關於onResume和onPause。每次都調用兩個活動之間的變化是不是一個問題的事實?我的意思是gps將停止並在每次活動變化之間開始。我希望你明白我的意思。 –
您可以創建一個控制GPS數據收集的類,然後在每個活動的OnStart中,將該活動的引用添加到數組,然後在調用OnResume和OnPause時添加/刪除它。然後,只需檢查對活動的引用是否仍然存在。 – Aelexe
也許這是一個解決方案:)無論如何,我用服務來做到這一點,它的作品完美! –
你應該實現它在應用類,我想。 –