2011-10-30 46 views
0

在我的Android應用程序中,我將啓動來自不同活動的不同服務實例。 例如,從活動A我想要啓動服務,並從活動B我想啓動相同服務的另一個實例。如何從不同的活動啓動不同的服務實例

從型動物活動我使用這些代碼行:

活動A

svc = new Intent(AActivity.this, Service.class); 
svc.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startService(svc); 
     ` 

活動B

svc = new Intent(BActivity.this, Service.class); 
svc.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startService(svc); 

問題是thath創建只有一個服務。 有解決方案嗎? 在此先感謝

+2

您能否詳細說明爲什麼要使用同一服務的不同實例? 爲什麼不只是使用一個服務實例,然後從您的不同活動綁定到它呢? – Darwind

回答

0

例如,從活動A我想要啓動服務和從活動B我想啓動相同的服務的另一個實例。

這是不可能的,對不起。

0

我正在考慮這樣做,但在做了一堆挖掘之後,我得出了同樣的結論。運行同一服務的多個實例是不可能的。

這是從Android開發論壇報價:

服務是單身。你不要在bindService()中使用stopService()。 只要存在一個或多個客戶端,它就會保持實例化,或者在開始>狀態中顯式爲 。

戴安娜Hackborn, Android框架工程師

很抱歉的壞消息。

乾杯

相關問題