首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MediaRouter连接第二次

MediaRouter连接第二次
EN

Stack Overflow用户
提问于 2014-07-24 14:20:13
回答 3查看 828关注 0票数 1

我正在使用Android的MediaRouter / Presentation ( support.v7版本)。

到目前为止一切都很好。唯一不能做到的是:

当我退出我的活动(e.g.teardown &删除回调)时,一切仍然正常。

但是,在启动此活动时(之前的中介活动已强制完成,因此可以肯定地调用了=>,以便那里的回调也消失了,正如我的调试消息中所示),在稍后的某个时间点,回调将被创建和添加以及所有内容。只是,没有更多的onRouteAdded调用,只有onProviderChanged (使用默认的提供程序,因此无用)。

它总是这样工作(与wifi显示miracast,模拟二次显示,chromecast二次显示..)。这些例子中有没有没有的决议?

你想看看代码吗?哪一种特殊情况?(不能全部发出去)

到目前为止,我什么也找不到,谢谢你的帮助,提前。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-29 09:49:31

使用getSelectedRoute()而不是RouteInfo (由回调提供)为我完成了这项工作。

代码语言:javascript
复制
MediaRouter.RouteInfo selectedRoute = getHelper().getMediaRouter().getSelectedRoute();
if(provider != null && getCurrentRoute() != null && getCurrentRoute().equals(selectedRoute)){
    Log.d(TAG, "only provider changes, dont do anything");
    return false;
}

if (selectedRoute != null) {
    setCurrentRoute(selectedRoute);
}

return updateContents();

这是非常奇怪的(因为其余的代码看起来与提供的google开发者示例完全一样),但它是有效的。

票数 0
EN

Stack Overflow用户

发布于 2014-07-24 17:06:45

如果您更改Google示例应用程序以支持MediaRouter.Callback:https://github.com/googlecast/CastPresentation-android

那么我每次都会接到onRouteAdded的电话。

票数 0
EN

Stack Overflow用户

发布于 2015-03-31 14:40:01

我知道这个问题一年多前就已经解决了,但可能不是一个完美的解决方案。也许它会对其他人有用。

我有同样的问题,完全相同的症状(没有更多的onRouteAdded调用)。在我的情况下,这是由于未正确地实现MediaRouter的失活所致:要正确地禁用它,您不仅应该删除所有回调,还应该选择默认的MediaRoute。

代码语言:javascript
复制
if (!mMediaRouter.getDefaultRoute().isSelected()) {
    mMediaRouter.getDefaultRoute().select();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24936288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档