1

我正在使用 Cast SDK v2 并RemoteDisplayLocalService投射本地内容。在onRouteUnselected函数中MediaRouter.Callback,我用 停止服务CastRemoteDisplayLocalService.stopService()。接收方应用程序停止;但是,系统下拉菜单仍然显示应用程序已连接到接收器,如下所示:

应用程序仍处于连接状态

我认为这是因为CastRemoteDisplayLocalService'sGoogleApiClient仍然连接到 Google Play 服务。是否有一种编程方式可以完全断开发件人应用程序的连接?

4

1 回答 1

0

RemoteDisplay原来这个问题与API无关。这实际上是由于我使用MediaProjectionAPI 来投射用户的屏幕造成的。通话

mMediaProjection = mMediaProjectionManager.getMediaProjection(resultCode, data); 

是在下拉菜单中打开 Cast 图标的原因。要关闭它,请致电

mMediaProjection.stop();

请记住,用户可以随时从下拉菜单中停止媒体投影(这不会结束远程显示会话),因此将以下回调添加到您的 MediaProjection:

mMediaProjection.registerCallback(new MediaProjection.Callback() {
    @Override
    public void onStop() {
        // Stop casting when user stops media projection
        mMediaRouter.selectRoute(mMediaRouter.getDefaultRoute());
    }
}, null);
于 2016-09-30T17:18:57.493 回答