2016-12-24 55 views
0

我有一个服务,在我的所有活动中播放背景音乐,但不会在onPause或onStop时关闭。我希望我的音乐在应用程序关闭或屏幕关闭的情况下关闭,不管目前的活动用户是什么。问题是这样的: 我有一项服务。在每一个活动中,我编码了在onPause和onStop上做什么。它工作正常,但服务也停止了,当我切换到另一个活动。背景音乐无法关闭或打开时,它应该是

代码:

public class MyService extends Service { 


private final String TAG = null; 
MediaPlayer player; 

public IBinder onBind(Intent arg0) { 

    return null; 
} 

@Override 
public void onCreate() { 
    super.onCreate(); 
    player = MediaPlayer.create(this, R.raw.id); 
    player.setLooping(true); // Set looping 
    player.setVolume(100, 100); 




} 

public int onStartCommand(Intent intent, int flags, int startId) { 
    player.start(); 
    return 1; 
} 

public void onStart(Intent intent, int startId) { 
    // TO DO 
} 

public IBinder onUnBind(Intent arg0) { 
    // TO DO Auto-generated method 
    return null; 
} 


protected void onStop() { 
    player.pause(); 
} 

public void onPause() { 
    player.pause(); 
} 

@Override 
public void onDestroy() { 
    player.stop(); 
    player.release(); 
} 

@Override 
public void onLowMemory() { 

} 

}

回答

0

您必须在您的主活动的onDestroy方法来停止服务。检查this answer