所以我修改了 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/