我一直在尋找一些方法來獲取ServiceConnection,當我啓動我的服務使用startService(...)。使用startService啓動服務時,如何獲得IBinder/ServiceConnection/onServiceConnected?
我還沒有找到一種方法,所以我一直在尋找了一下,發現這樣的: Does each Activity need to Bind to a Service & What happens when it was created with startService()
在那裏,Commonsware說,如果我的startService調用之後調用bindService它並不重要。
所以我想我先運行startService(...),然後直接執行bindService(...)(以便調用onServiceConnected)。但是,然後Service.onCreate執行兩次。可能是因爲startService沒有「完成」呢?
問題是:如何獲得對我的服務(IBinder)的引用,即。如果我使用startService啓動我的服務,如何獲得onServiceConnected來激發?
---編輯---
我還是想知道的任何答案,你可能有想法。我做了一個「黑客」來解決這個問題:
我只是做了一個靜態引用(SRef.java我有公共靜態的IBinder myBinder = NULL),在我Service.onCreate我簡單做
序列S .myBinder = myBinder;
這似乎不適合我,所以任何其他想法如何它應該工作將不勝感激。
感謝。我做了startService和bindSerbie,但onCreate確實執行了兩次。奇怪的。我必須在某個時候再試一次。現在,我正在使用靜態變量,如編輯中所述。 – Ted