所以我将Mediarouter源修改为依赖于ActionBarSherlock而不是AppCompat。但是,现在没有调用MediaRouteAdapter onDeviceAvailable(...)
的回调。
有关如何使其发挥作用的任何想法?
我不想让施法按钮始终可见。相反,我想使用onDeviceAvailable(..)
仅在设备可用时使其可见。
答案 0 :(得分:2)
我发现了如何解决这个问题。
如果您使用appcompat,只有当您的网络中有chromecast设备时,才会显示投射图标,具体取决于您onDeviceAvailable(...)
的实施情况。
但是,如果使用ABS,则当网络上的chromecast设备可用时,不会调用onDeviceAvailable(...)
方法。因此,为了查看强制转换图标,我们必须将其设置为始终可见。
所以问题是,转换图标始终可见(当您将可见性设置为可见或将其添加到操作栏时)。
<强>无论其强>: MediaRouter具有不同的视图状态。一个用于铸造设备,一个用于没有一个可用的设备。
Mediarouter库由可绘制的png组成,这些png是设备何时可用的图标。
只需用空白资源或任何适合该应用的内容替换“无路由可用”的那个。
当设备可用时,将显示正确的强制转换图标,当不可用时,将显示自定义资源(如果资源是空白视图,则为空白)。
以下是有关如何获取mediarouter源代码以及如何解决此问题的完整详细信息:http://www.droidorbit.com/2013/10/mediarouter-and-actionbarsherlock.html