Java 如何使用Mediaplayer单例激活前台服务

Java 如何使用Mediaplayer单例激活前台服务,java,android,Java,Android,我在安卓系统中非常新,我有一个Mediaplayer单例,因为我使用的是显示列表的片段,我希望当Mediaplayer单例播放时将激活一个服务,我尝试使用runOnUiThread,但该服务只激活了很多次 这是MyMediaSingleton.java中的Singleton public class MyMediaSingleton { MediaPlayer player; private static volatile MyMediaSingleton instance=null; priv

我在安卓系统中非常新,我有一个Mediaplayer单例,因为我使用的是显示列表的片段,我希望当Mediaplayer单例播放时将激活一个服务,我尝试使用runOnUiThread,但该服务只激活了很多次

这是MyMediaSingleton.java中的Singleton

public class MyMediaSingleton {
MediaPlayer player;
private static volatile MyMediaSingleton instance=null;
private MyMediaSingleton(){

}

public static MyMediaSingleton getInstance(){

    if(instance==null){
        synchronized (MyMediaSingleton.class){
            if(instance==null){
                instance=new MyMediaSingleton();
            }
        }
    }

    return instance;
}
}


感谢您的耐心。

媒体播放器单人课

public class MyMediaSingleton  { 
    MediaPlayer mp;
    private static volatile MyMediaSingleton  instance = null;
    private MyMediaSingleton () { } 

    public static MyMediaSingleton  getInstance() { 
        if (instance == null) {
            synchronized (MyMediaSingleton .class) { 
                if (instance == null) {
                    instance = new MyMediaSingleton ();
                } 
            } 
        } 

        return instance;
    } 
    } 
活动类

public class MainActivity extends Activity {

private MyMediaSingleton player = getInstance();

@Override 
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

} 

public void playSound(View view){
    if(player.mp==null) 
      player.mp = MediaPlayer.create(getApplicationContext(), R.raw.sound);
      player.mp.start(); 

    //For playing multiple sound using single MediaPlayer do it as:
    if(player.mp ==null) 
  player.mp = new MediaPlayer(); 
else 
  player.mp.reset(); 
String fileName="android.resource://"+getPackageName()+
                                               "/"+ R.raw.sound;
player.mp.setDataSource(getApplicationContext(),Uri.parse(fileName));
player.mp.prepare(); 
player.mp.start();

} 
} 

谢谢你的回答,如果我没有解释清楚,我已经可以用Singleton播放音乐了,我的一个问题是,当Mediaplayer Singleton播放歌曲时,我不知道如何激活我的前台服务