2011-01-26 84 views
1

我有一個Android應用程序,該應用程序具有用於跟蹤人員位置的正在進行的服務。我希望能夠從活動內啓動服務,並在活動內結束它。當活動正在運行時,我需要能夠綁定到服務並通過aidl與其通信。不過,即使活動結束,我仍然需要該服務。我只希望服務在活動告知時終止。如何創建在活動結束後運行的Android服務

到目前爲止,我有我的活動和服務,他們可以通過一個aidl文件進行通信。但是目前服務在活動結束時結束。

當活動結束時如何讓它繼續運行以及活動重新啓動時如何重新綁定它?

+0

你能表現出一定的片段?我創建了一項啓動服務的活動,但活動結束後,服務仍在運行。 – exception01 2011-01-27 05:30:08

+0

您應該將您的解決方案作爲答案發布,然後在幾天後(無論最小值是多少)選擇它作爲答案。 – 2011-01-31 14:22:55

回答

2

我已經想通了。

我用它創建了我的服務,我和綁定到它(我需要一個綁定)的bindService方法,但如果通過調用創建bindService一個服務的服務只能作爲長期生活的結合,所以當調用unbindService,當我的活動被破壞時,我正在做這個服務本身也被破壞了。

但是,如果您使用createService的調用創建服務,然後致電bindService,則您將綁定到已在運行的服務。然後,當你解開它時,它不再破壞自己。該服務將持續到您致電stopService

然後,當您重新輸入您的活動,你可以檢查服務是否已在運行,如果它只是調用bindService其他明智的只是調用startService其次bindService