MediaSession 알림 터치시 메인 페이지로 이동

This commit is contained in:
klaus 2024-12-18 16:47:57 +09:00
parent 46ec9ff999
commit f78a13bd2c
1 changed files with 13 additions and 12 deletions

View File

@ -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,