2013-02-03 164 views
3

我正在庫項目中使用服務。 當我開始服務時(使用context.startService(service)),服務的onStart()從未到達。我做錯了什麼,我有一些問題:圖書館項目中的服務

  1. 在哪個清單文件中,我應該聲明服務(庫項目或APK項目)?

  2. 它與遠程服務和AIDL有任何連接嗎?我不太確定,但我發現這個答案Android service in library 似乎有線,我必須在同一個應用程序,我沒有任何相互過程通信(IPC)創建AIDL。

  3. 我試圖在我的APK項目中擴展庫服務,並在APK的清單文件中聲明它 - 但仍然沒有達到服務的onStart()。

謝謝。

+0

你是否在logcat中出現任何錯誤? –

+0

否 - Logcat不包含任何錯誤。 – micyunu

+0

發佈您用來啓動服務的代碼。 –

回答

-2

onStart()方法,所以在Android 2.0 API級別5被廢棄或更高版本onStart()就不叫,你需要實現onStartCommand(Intent, int, int)代替..

更新:AS @大衛瓦瑟指出我的愚蠢的錯誤..你可以檢查你是不是覆蓋onStartCommand()方法,或者如果你重載onStartCommand(),那麼你是從它調用super.onStartCommand()..請給我們看一些代碼...

+0

仍然 - 從不打OnStartCommand。 – micyunu

+1

這個答案顯然是錯誤的。 'onStart()'已被棄用,但它仍然存在,仍然有效。 'onStartCommand()'的文檔具體指出:**「爲了向後兼容,默認實現調用onStart(Intent,int)'」** –

+1

您可以發佈您的服務代碼和您用來調用服務... –