我有一個服務需要綁定,因爲調用者需要一些反饋和返回值。至少有一個Activity,一個片段和一個ContentProvider應該使用綁定的Service。因此,使用對象調用bindService。並且全部收到onServiceConnected。目前沒有問題,這是有效的。如何確保所有服務連接都被綁定?
但是:然後:活動希望所有片段顯示其內容,並且他們調用ContentProvider。它發生了,碎片和CP是而不是綁定。所以我不能確定,在服務連接期間,所有其他服務使用對象都已連接。
如何解決這個問題?一些想法浮現在我的腦海裏:
有沒有辦法控制接收onServiceConnected回調的對象的順序?
是否存在一個Activity生命週期回調,我可以確定所有onServiceConnected調用都已完成?那麼,是否有更好的方式開始填充碎片的內容?或者,也許,如果我在Activity的onServiceConnected中發佈消息,我能確定此消息是在所有其他onServiceConnected-calls之後處理的嗎?
另一個想法是我將綁定的服務連接保存在其他地方的靜態單個字段中。由於ContentProvider需要訪問,我想到了Service類本身。但不知何故,這似乎違背了綁定服務的想法?!?!
還有其他想法嗎?
Thanx,Joerg
該解決方案的問題是,我不知道該等什麼(有多少片段和CP)。如果他們還沒有結束,該怎麼辦...... – Jockel 2012-04-20 17:02:54