1

所以我将Mediarouter源修改为依赖ActionBarSherlock而不是AppCompat。但是,现在没有调用来自 MediaRouteAdapter 的回调onDeviceAvailable(...)

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

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

4

1 回答 1

2

我发现了一个关于如何解决这个问题的技巧。

如果您使用 appcompat,则只有当您的网络中有 chromecast 设备时,才能看到投射图标,具体取决于您对onDeviceAvailable(...).

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

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

但是: MediaRouter有不同的视图状态。一种用于投射设备可用时,另一种用于没有可用投射设备时。

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

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

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

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

于 2013-10-22T21:33:08.970 回答