我正在開發一個應用程序在android studio中,我必須保存設備的位置,我做了一個「locationService」類來擴展服務,所以位置被分割在我的服務器和服務將在後臺。 我已閱讀android文檔,並有兩種類型的服務(服務和鏈接服務),我使用鏈接服務,因爲我需要在活動中顯示位置數據。Android應用程序在後臺
問題是,當我關閉應用程序,服務死亡,並沒有記錄位置的變化。
如何防止鏈接服務死亡。謝謝
我正在開發一個應用程序在android studio中,我必須保存設備的位置,我做了一個「locationService」類來擴展服務,所以位置被分割在我的服務器和服務將在後臺。 我已閱讀android文檔,並有兩種類型的服務(服務和鏈接服務),我使用鏈接服務,因爲我需要在活動中顯示位置數據。Android應用程序在後臺
問題是,當我關閉應用程序,服務死亡,並沒有記錄位置的變化。
如何防止鏈接服務死亡。謝謝
我假設你的意思是「綁定」Service
,而不是「鏈接」Service
。當最後一個客戶端與它斷開連接時,綁定的Service
將停止運行。爲了防止這種情況發生,您需要致電startService()
並確保您在Service
中從onStartCommand()
返回START_STICKY
。
您無需使用「綁定」Service
即可將Service
中的數據傳遞給Activity
。另一種方法是讓您的Service
廣播數據(將數據作爲「額外」添加到Intent
中,並使用Intent
調用sendBroadcast()
)。然後您的Activity
可以設置BroadcastReceiver
來收聽Service
的任何數據播放。
謝謝。 正確的術語是bundle,我已經在我的應用程序中實現了它,它工作正常,現在我想實現另一個功能,在後臺我可以啓動一個活動並顯示所需的信息,但是當我最小化應用程序時家裏,我不關閉它),我給你發送新的信息,我想把我的應用程序放在前臺顯示這些信息。 –
我假設你的意思是「綁定」,而不是「捆綁」。當你想把你的應用程序推到前臺時,只需爲你的應用程序獲取一個「啓動意圖」,然後用這個函數調用'startActivity()'。它會將你的應用程序推向前臺,以便你可以做你想做的事。請參閱https://stackoverflow.com/a/14137045/769265 –
謝謝。 我已經實現了這個方法,它已經工作了,現在我有另一個問題,在我的服務中我有一個布爾變量,開始的值爲true,並從我的應用程序我命令它變爲false,但是當我關閉應用程序,將服務作爲重新啓動發生並且我的變量返回到初始值(true)。 有一些方法我的服務不會「重新啓動」。 –
請注意。 https://stackoverflow.com/a/3856940/6759520 – amuyu