diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/player/AudioContentPlayerService.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/player/AudioContentPlayerService.kt index 448ee60..5e00b46 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/player/AudioContentPlayerService.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/player/AudioContentPlayerService.kt @@ -1,5 +1,6 @@ package kr.co.vividnext.sodalive.audio_content.player +import android.app.PendingIntent import android.content.Intent import android.net.Uri import android.os.Build @@ -28,6 +29,7 @@ import kr.co.vividnext.sodalive.audio_content.playlist.detail.AudioContentPlayli import kr.co.vividnext.sodalive.common.Constants import kr.co.vividnext.sodalive.common.SharedPreferenceManager import kr.co.vividnext.sodalive.common.Utils +import kr.co.vividnext.sodalive.main.MainActivity import org.koin.android.ext.android.inject @UnstableApi @@ -67,18 +69,6 @@ class AudioContentPlayerService : MediaSessionService() { super.onDestroy() } - override fun onTaskRemoved(rootIntent: Intent?) { - mediaSession?.run { - if ( - !player.playWhenReady || - player.mediaItemCount == 0 || - player.playbackState == Player.STATE_ENDED - ) { - onStopService() - } - } - } - override fun onGetSession(controllerInfo: MediaSession.ControllerInfo) = mediaSession override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { @@ -111,7 +101,18 @@ class AudioContentPlayerService : MediaSessionService() { } private fun initMediaSession() { + val contextIntent = Intent(applicationContext, MainActivity::class.java).apply { + flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP + } + val pendingIntent = PendingIntent.getActivity( + applicationContext, + 0, + contextIntent, + PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE + ) + mediaSession = MediaSession.Builder(this, player!!) + .setSessionActivity(pendingIntent) .setCallback(object : MediaSession.Callback { override fun onConnect( session: MediaSession,