发现使用 Android MediaRouter API 的 Chromecast 设备在最新的 mediarouter 支持库(版本 19)和 google play 服务版本 4.2.43 中无法按预期工作。
我正在使用 Cast Hello Text 示例应用来解决这个问题。可以在这里找到:https://github.com/googlecast/CastHelloText-android .
我的 chromecast 设备已插入电视,并且与 Android 设备 (Sender) 位于同一网络中。
- 应用启动并找到 Chromecast 设备。我重写了一些相关的 MediaRouter.Callback 方法,所以我看到 onRouteAdded() 被调用了。
- 稍后,我将设备从电视上拔下。我希望得到一个 onRouteRemoved() 事件。但这永远不会发生。
- 应用程序仍然显示转换图标。从转换图标中选择设备时,应用程序会尝试连接到设备但失败。现在我收到 onRouteUnSelected() 和 onRouteRemoved() 事件,转换图标消失了。
- 将设备重新插入我的电视后,一旦设备显示主屏幕,我希望收到 onRouteAdded() 事件。即使等了几分钟,我也没有收到此事件。
这在 mediarouter 库版本 17 和预览版 google cast SDK 中按预期工作。
那么在触发这些事件的时间方面有什么变化吗? 找出何时添加 chromecast 设备以及何时删除它的正确方法是什么?我计划使用带有 MediaRouter API 的自定义 UI 来显示转换图标和设备列表。
最佳答案
最新版本的 Android SDK/Play 服务中存在导致您所看到的行为的错误。这将在下一版本的 SDK 和 Google Play 服务中得到解决。
关于android - 使用 Android MediaRouter API 发现 Chromecast 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22288746/