MediaSession 알림 터치시 메인 페이지로 이동
This commit is contained in:
parent
46ec9ff999
commit
f78a13bd2c
|
@ -1,5 +1,6 @@
|
||||||
package kr.co.vividnext.sodalive.audio_content.player
|
package kr.co.vividnext.sodalive.audio_content.player
|
||||||
|
|
||||||
|
import android.app.PendingIntent
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Build
|
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.Constants
|
||||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||||
import kr.co.vividnext.sodalive.common.Utils
|
import kr.co.vividnext.sodalive.common.Utils
|
||||||
|
import kr.co.vividnext.sodalive.main.MainActivity
|
||||||
import org.koin.android.ext.android.inject
|
import org.koin.android.ext.android.inject
|
||||||
|
|
||||||
@UnstableApi
|
@UnstableApi
|
||||||
|
@ -67,18 +69,6 @@ class AudioContentPlayerService : MediaSessionService() {
|
||||||
super.onDestroy()
|
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 onGetSession(controllerInfo: MediaSession.ControllerInfo) = mediaSession
|
||||||
|
|
||||||
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
||||||
|
@ -111,7 +101,18 @@ class AudioContentPlayerService : MediaSessionService() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initMediaSession() {
|
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!!)
|
mediaSession = MediaSession.Builder(this, player!!)
|
||||||
|
.setSessionActivity(pendingIntent)
|
||||||
.setCallback(object : MediaSession.Callback {
|
.setCallback(object : MediaSession.Callback {
|
||||||
override fun onConnect(
|
override fun onConnect(
|
||||||
session: MediaSession,
|
session: MediaSession,
|
||||||
|
|
Loading…
Reference in New Issue