我在停止播放音频文件的服务时遇到了很大的问题。我想在播放另一个文件之前停止当前服务。
Activity :
public void playTrack(View view){
Intent i=new Intent(this,playService.class);
i.setAction("com.c0dehunterstudios.relaxer.PLAY");
if(isPlaying){
stopService(i);
isPlaying=false;
Log.v("ACTIVITY", "Stopping..");
}
startService(i);
isPlaying=true;
}
服务:
@Override
public void OnDestroy(){
Log.v("SERVICE","Service killed");
player.stop();
super.onDestroy();
}
但遗憾的是它不起作用 - 实际上它甚至没有归结为 OnDestroy() 中的“服务被杀死”。
我做错了什么?
最佳答案
首先,它是 onDestroy,而不是 OnDestroy。其次,您必须使用@Override 批注进行编译时检查,因此您的服务代码应该看起来像这样:
@Override
public void onDestroy(){
Log.v("SERVICE","Service killed");
player.stop();
super.onDestroy();
}
关于Android:stopService 不调用 onDestroy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9086371/