我使用Cast SDK v2和RemoteDisplayLocalService
来投射本地内容。在onRouteUnselected
中的MediaRouter.Callback
函数中,我使用CastRemoteDisplayLocalService.stopService()
停止服务。接收器app停止;然而,系统下拉仍然表示应用程序已连接到接收器,如下所示:
我认为这是因为CastRemoteDisplayLocalService
的{{1}}仍然与Google Play服务相关联。是否有一种以编程方式完全断开发件人应用程序的连接?
答案 0 :(得分:0)
原来这个问题与RemoteDisplay
API无关。这实际上是由于我使用MediaProjection
API来投射用户的屏幕。电话
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);