我想讓我的應用在後臺運行,就像一直運行的進程一樣。我該如何讓我的應用作爲後臺進程運行
我需要它,因爲我想每2分鐘(經度,緯度)獲取GPS的位置更新並使用方法中的信息。
因爲我需要的應用程序運行時,手機是睡着了還是不在應用程序的用戶界面換句話說,我需要的應用程序將始終運行。
我敢肯定是有辦法做到,我還是謝謝你的任何答案:)
我想讓我的應用在後臺運行,就像一直運行的進程一樣。我該如何讓我的應用作爲後臺進程運行
我需要它,因爲我想每2分鐘(經度,緯度)獲取GPS的位置更新並使用方法中的信息。
因爲我需要的應用程序運行時,手機是睡着了還是不在應用程序的用戶界面換句話說,我需要的應用程序將始終運行。
我敢肯定是有辦法做到,我還是謝謝你的任何答案:)
這只是第一個谷歌搜索結果我發現: http://www.vogella.com/articles/AndroidServices/article.html
這裏的答案是使用service,如果本教程缺乏,則有64億人。
我們有類似的東西,但是它由幾個部分組成。
首先,你會希望你的代碼運行(在清單登記)爲Service
你可能也想請求android.permission.RECEIVE_BOOT_COMPLETED
這樣就可以編寫並註冊得到由android.intent.action.BOOT_COMPLETED
行動通知的BroadcastReceiver
其onReceive
方法啓動服務。
在我們的例子中,我們也有一個前端活動,它也會調用服務來確保它正在運行,但是我已經過了一段時間,我檢查了這是否仍然需要。
我們的服務幾乎是空的,onCreate
立即調用自定義Handler
然後管理「滴答」,這喚醒Handler
並觸發一個Runnable
,如果有工作要做,但是這是我的代碼從你的發散。在我們的情況下,我們只嘗試在服務'滴答'(通常是每分鐘)時更新GPS位置,並且有工作要做。它通常每個客戶端每天只執行幾十次操作,所以我不能真正告知它將如何影響電池使用。
+1啓動接收器。 –
如果您計劃每兩分鐘獲取一次位置更新,我相信電池將在兩個小時內耗盡... –
http://developer.android.com/reference/android/app/Service.html但安德羅是對的。每2分鐘不是一個好主意。我會卸載你的應用程序比那更少。 – Simon
我同意,如果你不想耗盡用戶的電池,你應該選擇更長的更新間隔。爲了讓您的應用能夠長期在後臺運行,您可以在其中創建服務,搜索「android long running service」之類的內容,您可以找到許多討論。 –