使用该服务,我让Android不会停止播放音乐
class Sound(): Service() {
private var mainSoundPlayer = MediaPlayer()
override fun onBind(arg0: Intent?): IBinder? {
return null
}
override fun onCreate() {
super.onCreate()
mainSoundPlayer = MediaPlayer.create(this, R.raw.mainsound)
mainSoundPlayer.isLooping = true
mainSoundPlayer.start()
}
override fun onDestroy() {
super.onDestroy()
}
}
但问题是,当我使用最近键和返回键时,音乐不会停止,我希望音乐停止,当从最近的应用程序打开程序时,音乐会再次播放。
发生这种情况的原因是,即使用户按“返回”、“主页”或“最近”,服务也会继续运行。 service onDestroy() 会在服务运行时被调用 通过调用 stopSelf() 或 stopService() 在内部由代码停止。
因此,您可以为您的活动重写 lifeCycle onPause()/onStop()/onResume() 方法,在该方法中您启动服务来调用 stopSelf()/stopServcie()。