티스토리 뷰

5.0에서 RemoteControlClient의 폐기가 되었다.

그래서 분기가 필요하게 되고, Notification에 노출할 경우에는 다음과 같은 방식으로 처리하여야 한다.


Notification.Builder builder = new Notification.Builder(this)

    .setSmallIcon(R.drawable.ic_launcher)

    .setContentTitle("TITLE")

    .setContentText("MESSAGE")

    .setDeleteIntent(pendingIntent)

    .setStyle(new Notification.MediaStyle());


이후에 다음과 같이 구현을 하여준다.


mManager = (MediaSessionManager) getSystemService(Context.MEDIA_SESSION_SERVICE);

mSession = mManager.createSession("test session");

mController = MediaController.fromToken(mSession.getSessionToken());


세션의 TransportControlsCallback을 등록하고, 각 상황에 따라 다른 노티피케이션을 생성하도록 onPlay, onPause 등의 메소드를 오버라이드한다.

오버라이딩할 메소드마다 개별적으로 노티피케이션을 설정하고 띄워야 한다. 

예를 들어 onPlay 메소드는 재생과 관련된 노티피케이션을 띄워야 한다.


mSession.addTransportControlsCallback(new MediaSession.TransportControlsCallback() {

    @Override

    public void onPlay() {}


    @Override

    public void onPause() {}

}


노티피케이션의 액션을 다른 서비스로 연결시키고 해당 서비스에서 mController.getTransportControls().play() 등을 호출한다.

'Mobile > Android' 카테고리의 다른 글

[Android] AndroidStudio build setting  (0) 2016.07.26
[Android] MultiDex 적용  (0) 2016.07.26
[Android] NotificationCompat + 5.0  (0) 2016.07.26
[Android] JobService  (0) 2016.07.26
[Android]TextBold 적용  (0) 2016.07.12
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함