2011-10-31 234 views
0

啓動應用程序時是否有可能自動啓動服務?問題是我正在開發依賴於服務的單獨的UI組件。理想情況下,應在託管應用程序啓動後立即啓動此服務。這可以通過清單來完成還是可以完成?我知道我可以從我的UI組件的代碼開始服務,但是我想在啓動主應用程序甚至後立即啓動服務,以防萬一我的UI組件尚未創建。應用程序啓動時自動啓動Android服務

在此先感謝。

回答

0

您想使用通知您啓動完成的PERMISSION。這將使您知道設備已啓動並採取行動,例如啓動您的服務。

RECEIVE_BOOT_COMPLETED Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting. 
+0

對不起,夥計們,我不需要一個BOOT意圖。我特別有興趣開始申請。我需要在託管應用程序啓動時啓動服務,而不是啓動設備。 – I4004

+0

嗯......好的。當你聲明「主機應用程序」時,我認爲你有一個單獨的應用程序,你需要接口。除了你接受的答案太微不足道的想法,你認爲這是你正在尋找。因此,我的建議是在「開始時間」開始服務之前,在其他任何需要來自「主機應用程序」的內容之前。無論如何,你可以將它保存在一袋子未來的技巧中。 – mobibob

+0

謝謝你的建議。 – I4004

3

創建MyApp類延伸Application,並確保它在你的清單中聲明。如果需要,MyApponCreate()是一個很好的開始服務的地方。

參見the documentation for the Application class

+0

我無權訪問託管allication的代碼。我只能訪問常見的清單文件和我的UI組件的代碼。 – I4004

+0

@ l4004:「我只能訪問常用的清單文件和我的UI組件的代碼」 - 這是您實現此解決方案所需的全部內容。 – CommonsWare

+0

您會發現,如果主機應用程序具有自己的自定義應用程序,則此解決方案是不可接受的。我不能強迫用戶使用我的自定義應用程序,而不是...... =( – I4004

相關問題