Android问题-后台服务不支持';停不下来
大家好,我是Android开发的绝对初学者。Android问题-后台服务不支持';停不下来,android,audio,Android,Audio,大家好,我是Android开发的绝对初学者。 我刚刚创建了一个简单的android应用程序,我使用“BackgroundService”作为背景音乐。 我设法演奏音乐;我的问题是,当我关闭应用程序或按下home(主页)按钮时,音乐不会停止。 你们能帮帮我吗? 这是我的密码: MediaPlayer player; public IBinder onBind(Intent arg0) { return null; } @Override public void onCreate() {
我刚刚创建了一个简单的android应用程序,我使用“BackgroundService”作为背景音乐。
我设法演奏音乐;我的问题是,当我关闭应用程序或按下home(主页)按钮时,音乐不会停止。
你们能帮帮我吗?
这是我的密码:
MediaPlayer player;
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
player = MediaPlayer.create(this, R.raw.sample);
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;
}
public void onStop() {
}
public void onPause() {
}
@Override
public void onDestroy() {
player.stop();
player.release();
}
@Override
public void onLowMemory() {
}
}在onPause方法上,还添加
player.stop();
player.release();
希望这有帮助您应该真正理解服务的概念服务用于管理在后台运行且不需要UI的繁重任务。简单地说,即使活动不再可见,服务也用于在后台执行繁重的任务 即使您的活动被破坏,服务仍将保持活动状态。您必须手动停止服务。在活动的
onPause()
中,尝试停止服务
stopService(this, serviceClassName.class)
在服务的onPause()
中,您应该停止并释放播放器
player.stop();
player.release();
查看此链接以了解有关服务及其生命周期的更多信息 这就是服务的意义所在!如果你想在离开应用程序时停止播放音乐,你应该使用活动,而不是服务。。。或者在您的活动的On-stop/On-pause方法中停止服务使用服务,以便每次我更改活动时它将继续播放我也尝试过使用活动,但每次我更改活动时使用停止或暂停方法音乐停止编辑不起作用先生,但感谢您回答我的问题抱歉我的问题我在这一领域没有任何进展我可以问一下我应该把stopService(这个,serviceClassName.class)放在哪里覆盖活动的
onPause()
方法吗。如果使用Eclipse,请转到此服务中的Source>Override/implementmethods>onPause()
。类似地,在服务的onPause()
中,您停止并释放播放器。我在第一个活动中放置@Override public void onPause(){stopService(this,MusicService.class);}但stopService给我一个错误您是如何启动服务的?Intent svc=newintent(this,MusicService.class);startService(svc);先生,这是我如何开始服务的