2016-09-29 17 views
0

Cast SDK v2 및 RemoteDisplayLocalService을 사용하여 로컬 콘텐츠를 전송합니다. 의 onRouteUnselected 함수에서 CastRemoteDisplayLocalService.stopService()으로 서비스를 중지합니다. 리시버 앱이 중지됩니다. 그러나, 시스템 풀다운는 여전히 애플 리케이션과 같이, 수신기에 연결되어 말한다 :RemoteDisplayLocalService를 사용할 때 전송 장치를 완전히 연결 해제하는 방법은 무엇입니까?

App is still connected

내가 CastRemoteDisplayLocalServiceGoogleApiClient 여전히 구글 플레이 서비스에 연결되어 있기 때문입니다 가정합니다. 프로그래밍 방식으로 발신자 앱을 완전히 연결 해제 할 수 있습니까?

답변

0

이 문제는 RemoteDisplay API와는 관련이 없습니다. 실제로 사용자 화면을 전송하기 위해 MediaProjection API를 사용하여 발생했습니다. 전화

mMediaProjection = mMediaProjectionManager.getMediaProjection(resultCode, data); 

은 풀다운에서 전송 아이콘을 켭니다. 사용자가 (원격 화면 세션을 종료하지 않습니다) 풀다운 메뉴에서 언제든지 미디어 투영을 중지 할 수 있음을

mMediaProjection.stop(); 

가 명심 호출을 해제, 그래서 당신의 MediaProjection에 다음 콜백을 추가하려면 :

mMediaProjection.registerCallback(new MediaProjection.Callback() { 
    @Override 
    public void onStop() { 
     // Stop casting when user stops media projection 
     mMediaRouter.selectRoute(mMediaRouter.getDefaultRoute()); 
    } 
}, null);