android - 媒体路由器 : Detecting a chromecast device when using ActionBarSherlock?

标签 android actionbarsherlock google-cast chromecast

所以我修改了 Mediarouter 源代码以依赖于 ActionBarSherlock 而不是 AppCompat。但是,现在未调用 MediaRouteAdapter onDeviceAvailable(...) 的回调。

关于如何让它发挥作用的任何想法?

我不想让转换按钮始终可见。相反,我想使用 onDeviceAvailable(..) 仅在设备可用时使其可见。

最佳答案

我找到了解决此问题的技巧。

如果您使用 appcompat,则只有当您的网络中有 chromecast 设备时,转换图标才会显示,具体取决于您对 onDeviceAvailable(...) 的实现。

但是,如果您使用 ABS,则当 chromecast 设备在网络上可用时,不会调用 onDeviceAvailable(...) 方法。因此,为了看到转换图标,我们必须将其设置为始终可见。

所以问题是转换图标始终可见(当您将可见性设置为可见或将其添加到操作栏时)。

但是: MediaRouter 有不同的 View 状态。一种是在有转换设备可用时使用,另一种是在没有可用转换设备时使用。

Mediarouter 库由可绘制的 png 组成,它们是设备可用或不可用时的图标。

只需用空白资源或适合该应用程序的任何资源替换“没有可用路线”的资源即可。

当设备可用时,将显示正确的转换图标,当不可用时,将显示您的自定义资源(如果资源是空白 View ,则为空白)。

以下是有关如何获取 mediarouter 源代码以及如何解决此问题的完整详细信息:http://www.droidorbit.com/2013/10/mediarouter-and-actionbarsherlock.html

关于android - 媒体路由器 : Detecting a chromecast device when using ActionBarSherlock?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19519980/

相关文章:

android - 如何将应用程序对象放入 fragment 类

android - 如何在android studio中添加Git项目

android - View.GONE 仍在布局中占用空间

ios - Angular 6 - IOS 中的 Chrome - 路由器问题

android - 我的 ActionMode 不会在 onCreateActionMode 方法中膨胀菜单

android - 准备自定义操作栏

android - minSdkVersion小于11时如何添加Holo Style Horizo​​ntal ProgressBar?

android - xamarin android fragment 重叠

android - Android 中的 Chromecast 和 HDMI-CEC

android - 通过 Intent 激活屏幕转换