2012-10-12 49 views
2

我想讓我的應用在後臺運行,就像一直運行的進程一樣。我該如何讓我的應用作爲後臺進程運行

我需要它,因爲我想每2分鐘(經度,緯度)獲取GPS的位置更新並使用方法中的信息。

因爲我需要的應用程序運行時,手機是睡着了還是不在應用程序的用戶界面換句話說,我需要的應用程序將始終運行。

我敢肯定是有辦法做到,我還是謝謝你的任何答案:)

+2

如果您計劃每兩分鐘獲取一次位置更新,我相信電池將在兩個小時內耗盡... –

+1

http://developer.android.com/reference/android/app/Service.html但安德羅是對的。每2分鐘不是一個好主意。我會卸載你的應用程序比那更少。 – Simon

+0

我同意,如果你不想耗盡用戶的電池,你應該選擇更長的更新間隔。爲了讓您的應用能夠長期在後臺運行,您可以在其中創建服務,搜索「android long running service」之類的內容,您可以找到許多討論。 –

回答

3

這只是第一個谷歌搜索結果我發現: http://www.vogella.com/articles/AndroidServices/article.html

這裏的答案是使用service,如果本教程缺乏,則有64億人。

+3

我很想讓你的答案過度使用誇張。 :) –

+1

哈哈...好吧,我會減少可能的谷歌結果的數量:) –

+1

像這樣的誇大是世界上最糟糕的事情。我們已經警告過你一百萬次。 – Jay

1

我們有類似的東西,但是它由幾個部分組成。

首先,你會希望你的代碼運行(在清單登記)爲Service

你可能也想請求android.permission.RECEIVE_BOOT_COMPLETED這樣就可以編寫並註冊得到由android.intent.action.BOOT_COMPLETED行動通知的BroadcastReceiveronReceive方法啓動服務。

在我們的例子中,我們也有一個前端活動,它也會調用服務來確保它正在運行,但是我已經過了一段時間,我檢查了這是否仍然需要。

我們的服務幾乎是空的,onCreate立即調用自定義Handler然後管理「滴答」,這喚醒Handler並觸發一個Runnable,如果有工作要做,但是這是我的代碼從你的發散。在我們的情況下,我們只嘗試在服務'滴答'(通常是每分鐘)時更新GPS位置,並且有工作要做。它通常每個客戶端每天只執行幾十次操作,所以我不能真正告知它將如何影響電池使用。

+0

+1啓動接收器。 –

相關問題