2016-09-18 48 views
0

假設我已經創建了我的服務類MediaPlayer ...如何訪問在活動/片段中的服務中創建的MediaPlayer?

public static MediaPlayer mp = new MediaPlayer(); 

我將如何能夠從一個活動或片段訪問此實例?

例如,如果MediaPlayer是在一個活動中創建我將能夠訪問這樣的片段實例...

MainActivity

正在初始化的MediaPlayer ....

public static MediaPlayer mp = new MediaPlayer(); 

片段

訪問的MediaPlayer從片段...

private MediaPlayer mp = ((MainActivity)getActivity()).mp; 

問:我可以訪問在Service類創建的MediaPlayer的實例從Fragment,以同樣的方式如上所示?

+0

由於您聲明瞭公共靜態MediaPlayer實例,因此您可以直接通過MainActivity的類名進行訪問。 –

+0

那麼如何訪問MediaPlayer,如果它是在服務中創建的? – user20338

+0

您已經在服務中聲明類似於公共靜態MediaPlayer mp = new MediaPlayer();現在您可以訪問ServiceClassName.mp。您可以在已啓動服務的活動中聲明mediaPlayer。這比服務更好。 –

回答

0

您應該檢查綁定服務文檔。您可以將服務綁定到特定活動/片段的這個類的想法。 UI和服務之間的交互可以不用例如使用Messenger類。

相關問題