【问题标题】:Android app automatically casting without user interaction (CastCompanionLibrary)Android 应用无需用户交互即可自动投射 (CastCompanionLibrary)
【发布时间】:2017-01-22 07:53:36
【问题描述】:

我有一个使用 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 设备上重现此问题。

任何帮助将不胜感激。

【问题讨论】:

    标签: android chromecast google-cast castcompanionlibrary


    【解决方案1】:

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

    【讨论】:

    • 感谢您的详细回复。 “重新连接”可能是我遗漏的关键字 - 没有任何用户报告提到他们最近是否在投射,但大概是。 setLiveStreamDuration 听起来很有希望。我会看看并报告。
    • 我已将liveStreamDuration 设置为 2 分钟(它是一个音乐播放器,如果不重新连接就不是特别重要)。我还在CastConfiguration.Builder 对象上设置了.disableLaunchOnConnect()。我想知道这个标志是否解释了连接到 WiFi 时应用程序的意外启动。现在正在推出构建,所以我会在几天内得到一些反馈。
    • 我不知道您的应用程序及其流程,但调用 disableLaunchOnConnect() 可能不是正确的;这意味着当用户启动投射并选择投射设备时,您的应用程序将连接到投射设备,但您的​​接收器应用程序不会启动。我怀疑这就是你想要的。
    【解决方案2】:

    事实证明,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

    【讨论】:

      猜你喜欢
      • 2012-04-02
      • 2015-02-01
      • 1970-01-01
      • 2011-09-29
      • 2017-11-04
      • 2016-10-17
      • 2019-11-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多