2016-10-18 4 views
1

내 서비스는 MediaBrowserService 클래스를 확장하고 getMediaController().getTransportControls().onPlay()과 같은 특정 MediaController 액션에 응답합니다. 그러나 위젯에서 내 서비스를 "제어"하는 방법을 찾지 못했습니다. MediaController 클래스를 사용할 수 없기 때문입니다. 내 서비스와 어떻게 통신 할 수 있습니까?위젯과 함께 MediaBrowserService를 사용하려면 어떻게해야합니까?

답변

2

권장되는 접근 방식은 다음 문서에 따라 당신의 onStartCommandMediaButtonReceiver.handleIntent()에 대한 호출을 추가하여이를 처리 할 수 ​​MediaBrowserService에 명령을 전달할 것이다하는 MediaButtonReceiver을 사용하는 것입니다.

당신은 다음과 같은 상세한 답변을 setOnClickPendingIntent()

+0

감사와 위젯의 버튼을 설정할 수 있습니다 (예 : 재생, 일시 정지 등)를 다양한 미디어 버튼에 대한 PendingIntent를 구성하는 buildMediaButtonPendingIntent()를 사용할 수 있습니다. 그래도 한 가지 질문이 있습니다. 앱 위젯에서 세션의 상태 (현재 노래 메타 데이터, 재생 상태)를 어떻게 추적 할 수 있습니까? – MisterCereal

+0

정보를 가져 오는 동기식 방법이 없으므로 서비스를 사용하여 위젯을 업데이트해야합니다. 그러면 해당 서비스는'MediaBrowser'를 통해 연결하고 세션 토큰으로부터'MediaController'를 생성 할 수 있습니다. – ianhanniballake

+0

@ianhanniballake 어떻게 서비스를받을 수 있습니까? 위젯 사용에 대한 서비스를 시작하고 사용 중지시 서비스를 중지합니까? – Ishaan

관련 문제