0

CastCompanionLibrary v2.9.1我有一个使用, 修改为使用的 Android 应用程序play-services-cast:10.0.1(只是对 gradle 依赖项的简单更改)。

短版:应用程序正在尝试自动连接到 ChromeCast 设备,无需用户交互。

长版:

自从更新要使用的 CCL 库以来play services 10.0.1,我有几个用户提到该应用程序会自动连接/投射到 ChromeCast,而无需用户交互。

一些用户说他们没有使用该应用程序,然后他们连接到 WiFi,该应用程序会自动尝试投射。其他人说他们正在使用该应用程序,他们不按 ChromeCast 按钮,该应用程序开始投射。

--

我无法弄清楚在哪里寻找可能解释发生了什么的 ChromeCast API 的潜在更改。我也不确定这个问题是否只发生在我的应用程序或许多其他启用 ChromeCast 的应用程序中。最后,我无法在我自己的 ChromeCast 设备上重现此问题。

任何帮助,将不胜感激。

4

2 回答 2

2

我以前没有见过或听说过这个,所以这里有一些提示,供您进一步调查,看看可能是什么原因。CCL 有一个(粘性)服务ReconnectionService,负责在您丢失 wifi 并稍后重新获得它时执行重新连接尝试。您提到的 wifi 场景类似于此,因此我建议从那里开始。为了仅在有意义时重新连接,它会获取正在播放的内容的时间长度,并且仅在该时间段内进行此类尝试;即,如果您开始播放 1 小时的内容,然后将手机放在桌子上并在 2 小时后拿起它,它会注意到它入睡前的最后一部电影是 1 小时,因此它不会制作任何尝试重新连接(请参阅handleTermination()在同一个班级)。对于没有明确内容持续时间的直播,CCL 使用默认的 2 小时,但允许应用程序通过调用VideoCastManager.setLiveStreamDuration(duration_in_seconds)方法来修改它。最后,整个重新连接依赖于几个因素:它保存了最后一个连接的 route-id 以及会话 ID。因此,如果需要,您可以清除其中任何一个,然后它不会尝试为该特定会话重新连接(以防您想保持某些会话的重新连接并禁用其他会话)。希望这些有助于解决问题。

于 2017-01-22T18:38:54.010 回答
0

所以事实证明,Android 支持库 25.1.0 中有一个错误导致了这个问题。

https://code.google.com/p/google-cast-sdk/issues/detail?id=1105

现在标记为“内部固定”。

也相关: https ://code.google.com/p/android/issues/detail?id=232326

于 2017-02-13T21:59:59.953 回答