某人(成員「buptcoder」)幫助我解決了我所遇到的問題,非常快速,很好。我很高興在這裏找到了一個社區。感謝大家。Android - 無法理解重啓後服務如何運行
我已經閱讀了很多關於「在啓動時啓動服務」的網頁,但我仍然有一個疑問。
這裏是我已經有的代碼: 我點擊一個運行服務的按鈕(在一個Activity中),該服務註冊了一個BroadcastReceiver(SMS_RECEIVED)。當我點擊後退按鈕(Google Android按鈕)時,服務(和BroadcastReceiver)仍處於活動狀態。好。
這是我想要的: 即使用戶重新啓動手機,我也希望該服務(已由按鈕激活)自動重啓。服務的激活是動態的,如果用戶沒有按下按鈕,我不希望它運行。
我知道我應該使用操作BOOT_COMPLETED,但我不明白我們如何才能完全做到這一點。
如果有人能理解我寫的,並幫助我:)
感謝。
只是增加了它,我認爲,你需要包含BOOT_COMPLETED。這裏有很多線程。檢查[這](http://stackoverflow.com/questions/6878816/broadcastreceiver-not-working-after-boot-completed)和[this](http://stackoverflow.com/questions/5082735/broadcast-receiver-未工薪後重新啓動)。 – 2013-05-04 03:49:45
謝謝你們兩位。你的答案解決了我的問題的一部分。事實上,我提到我希望Android知道用戶是否按下了按鈕(激活服務)。如果沒有,我不希望Android在啓動時啓動我的服務。這是一個動態註冊。我認爲如果我在清單文件中硬編碼它不會是動態的。也許我應該像使用SMS_RECEIVED一樣通過addAction動態添加動作(BOOT_COMPLETED)。 (對於buptcoder:我將有多個服務,正如我在之前的消息中所寫的,按鈕啓動一個註冊廣播接收器的服務)。謝謝。 –
frontal
2013-05-04 10:20:19