2015-03-19 61 views
0

我正在尋找一種方式來立即啓動服務時,它被稱爲(我注意到,如果執行網絡操作可能需要一些時間)。 這是它是如何現在叫:Android - 立即startService

Intent intent = new Intent(application, SomeIntentService.class); 
application.startService(intent); 

回答

1

你在哪裏打電話application.startService()?通常,startService()是啓動服務的正確方法,應立即調用onCreate()方法。

但請記住,一個IntentService處理單個工作線程上的所有請求,並且它一次只能處理一個請求 - 所以如果您多次調用您的服務並且以前的請求尚未完成(例如一個網絡任務),它會排入新任務,一旦前一個任務完成,將執行該任務。

+0

它從一個類中調用(並將應用程序作爲參數)。所以我們可以說我在不同的動作上多次調用這個intentService,所以當我想調用這個即時動作時,我需要調用一個不同的服務(不是'SomeIntentService.class'),以便它可以立即啓動。正確? – 2015-03-19 09:04:03

+0

當您想立即運行多個後臺任務時,您應該考慮不同的實施策略。也許你想看看AsyncTask或者你可以使用線程... – 2015-03-19 12:38:22

+0

我實際上並不需要它們都立即,只有一個。我可以優先考慮服務嗎? – 2015-03-19 14:41:51