2012-08-15 74 views
0

我想製作一個錄音應用程序,即使應用程序在後臺時也可以錄製。所以我實施了一項服務。我需要開始它,並立即開始綁定它。因爲我懷疑startService和bindService是異步調用。而且我經歷過,當我一個接一個地打電話時,有時會調用bindService,當服務沒有正確啓動時。如何確保bindService只在服務啓動時運行?Android:在啓動後立即綁定到服務

回答

1

我用下面的代碼片段啓動並綁定到服務:

Intent playerIntent = new Intent(activity, PlayerService.class); 
activity.startService(playerIntent); 
activity.bindService(playerIntent, mConnection, Context.BIND_AUTO_CREATE); 

mConnection是當服務啓動的約束,且收到onServiceConnected回調ServiceConnection實例。每當我與服務進行交互時,我都會詢問ServiceConnection服務是否受到約束。