我一直試圖弄清楚這一段時間了,並不知道爲什麼會發生這種情況。這看起來很簡單,但我無法解決這個問題。Android啓動服務onStart和另一個問題
這是我想什麼發生
當我啓動應用程序,
1.如果後臺服務(長期運行的單獨服務)未運行,在開始活動之前啓動它。
2.啓動 「主頁」 活動
更新8/20
這裏是正在發生的事情:
1.我啓動應用程序和服務沒有運行
2.我啓動了意圖(通過context.startService)
- context.start服務被稱爲
3.活動運行完成
4. onStartCommand運行
我怎樣才能獲得onStartCommand活動開始運行之前運行?
對此的任何建議將減輕很多挫折感。我在問這個問題之前搜索了論壇,但找不到與我的問題相符的任何內容
非常感謝!
更新
感謝您的快速反應。
我應該提到我已經從應用程序的擴展(在onCreate方法中啓動服務)中運行此應用程序。
在我當前的實現中(下面),這是按順序執行應用程序時發生的情況。我認爲這會導致服務在活動之前運行,但活動運行並且服務運行。這是我混亂的主要觀點。
1.應用程序的onCreate被稱爲
2. startService方法被運行
3.啓動活動運行
4.服務的onCreate被稱爲
- 服務在onStart沒有被調用(我會盡力這一建議亞歷山大)
public class MyApp extends Application {
@Override
public final void onCreate()
{
if(!MyService.isRunning()) // this is a static method with thread lock
{
Intent i = new Intent(context, MyService.class);
i.setAction(MyConstants.INTENT_START_SERVICE);
context.startService(i);
}
}
}
看起來好像沒有辦法強制onStartCommand在Activity之前順序運行。 如果有人找到了解決辦法,請告訴我。 – Summit