2010-01-16 42 views
2

我需要在我的應用程序中始終運行gps,但我不知道是否更好地將它像活動內部的線程一樣拋出,或者如果我應該創建服務,然後在服務中,拋出線程線程或服務

任何人都可以幫助我?謝謝!!

Pd積:對不起,我的應用程序是如何工作的,因爲我想我的應用程序去的背景和它的作品我的英語


我的回答doesn't謊言。 我將嘗試解釋我的應用程序的組成部分:它有一個活動,用gps啓動一項服務,gps的位置與它在文件中的其他位置進行比較。當條件成立時,它啓動運行多媒體播放器的另一項服務。

因此,如果我正在看另一個應用程序,或者我的口袋裏有設備,我希望我的應用程序可以繼續運行。

回答

0

你能解釋一些嗎?因爲我們需要知道你的應用程序要做什麼。當您的應用始終可見時,您不需要線程或服務,您應該實現一個偵聽器並將其註冊到LocationManager。

當你的應用程序應該去後臺,那麼你應該實現一個服務。你需要考慮

0

兩件事情:

  1. 如果只需要爲您的應用GPS信息,然後有一個線程哪些池GPS信息每秒或間隔由您定。通過這種方式,您的應用程序可以從GPS獲取信息,而且您不必通過提供服務來使事情複雜化。請記住,通過在應用程序中創建一個線程,您需要啓動應用程序,以便獲取GPS信息。
  2. 現在讓我們說你也想要其他應用程序的GPS信息。然後使用服務是一個好主意。這樣其他應用程序也可以獲取GPS信息並在其應用程序中使用。當然,這不會神奇地發生,所有應用程序都可以通過運行服務來獲取GPS信息。您必須編寫代碼並提供接口,以便所有其他應用程序以及您的應用程序都知道如何與服務交互。

現在在應用程序中使用線程更快,更整潔,如果它符合您的要求。但是,就像我提到的,您的應用程序需要在使用GPS信息之前開始。

有了服務,您甚至可以在啓動時運行服務。所以你不需要啓動你的應用程序來啓動GPS。但是,除非需要在應用程序中使用線程。

1

我想你的答案將在於你的應用程序如何工作。如果即使在通過按下主頁按鈕或返回按鈕將應用程序推送到後臺後仍希望接收GPS數據,則應該將其放入服務中,因爲服務的生命週期與活動的生命週期不同。

如果GPS數據在應用程序中只要求你並不需要它的人在應用程序關閉,然後線程作爲Kavitesh提到一個更好的選擇,線程是一個更快和更簡單的方法