2016-09-29 114 views
0

我正在使用Cast SDK v2和RemoteDisplayLocalService来投射本地内容。在MediaRouter.CallbackonRouteUnselected函数中,我用CastRemoteDisplayLocalService.stopService()停止服务。接收器应用程序停止;但是,系统下拉还说应用程序连接到接收器,像这样:如何在使用RemoteDisplayLocalService时从Cast设备完全断开连接?

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); 
相关问题