【问题标题】:I can't get the Cast Companion Library notification to work我无法让 Cast Companion Library 通知正常工作
【发布时间】:2014-02-26 22:34:11
【问题描述】:

我正在使用 Cast Companion Library,它大部分工作正常,我得到了迷你播放器,还有锁屏控件和播放内容的活动,但我永远无法显示通知屏幕。我在初始化时正在执行以下操作:

mCastMgr.enableFeatures(VideoCastManager.FEATURE_NOTIFICATION |
              VideoCastManager.FEATURE_LOCKSCREEN |
              VideoCastManager.FEATURE_DEBUGGING);

我在恢复时使用incrementUiCounter(),在暂停时使用decrementUiCounter()

我没有看到任何错误,我只是没有看到我做错了什么。我唯一缺少的是在告诉媒体播放时我没有传递图像的 URL,因为我的 URL 是我的应用程序的本地资产,我只是不知道如何传递这些。

【问题讨论】:

  • 当您不在应用程序之外时,应该会显示通知;你试过那个场景吗?
  • 是的,很多次。而且我没有看到任何错误。在 CCL 上是否有一个地方你会建议我设置一个断点来查看发生了什么?
  • 我踩了代码,问题在VideoCastNotificationService的第158行,可见变量总是假的。

标签: android chromecast castcompanionlibrary


【解决方案1】:

您是在自己的应用程序中还是在CastVideos-android 中使用它?如果您自己的应用程序,首先我建议您尝试 CastVideos-android 应用程序以确保它适合您。

我建议你打印出BaseCastManager.incrementUiCounter()decrementUiCounter()mVisibilityCounter的值,看看当你进出不同的活动时,它是否反映了正确的计数器。当该计数器达到零时,应显示通知。如果计数器达到零并且通知未显示,我建议您检查清单文件,看看您的清单中是否包含以下内容:

<service
    android:name="com.google.sample.castcompanionlibrary.notification.VideoCastNotificationService"
    android:exported="false" >
    <intent-filter>
        <action android:name="com.google.sample.castcompanionlibrary.action.toggleplayback" />
        <action android:name="com.google.sample.castcompanionlibrary.action.stop" />
        <action android:name="com.google.sample.castcompanionlibrary.action.notificationvisibility" />
    </intent-filter>
</service>

(您可以从 CastVideos-android 清单文件中复制并粘贴)。您可能已经从文档中获取了它的内容;那里有一个错误(我计划今晚或明天更新一堆东西,文档也会更新);基本上,当计数器达到零时,它会调用通知服务(参见VideoCastManager 中的onUiVisibilityChanged()),如果清单中的该操作未正确设置,则通知永远不会得到我们的备忘录!如果这不是问题,请告诉我。

【讨论】:

  • 一定是那个xml,因为它现在正在工作。猜猜我的老朋友说com.google.sample.cast.refplayer.notification.visibility
  • 好。正如我所说,更新的文档将很快推送。
  • 我现在确实遇到了一些 CCL 崩溃,例如,当我回到我的主要活动时,我在 VideoCastManager 的第 241 行收到了 IndexOutOfBoundsException
  • VideoCastManager 中的行号 (241) 指向注释(查看 github 源代码),因此您的代码必须是旧的。请更新您的项目,如果仍然遇到崩溃,请在 github 项目上打开一个错误。
  • 刚刚更新,现在是 252 行。我猜这与我没有传递图片有关,但我不知道该怎么做,因为我没有图片的网址,我有位图。我也不确定如何更改通知图标。
【解决方案2】:

我也遇到了同样的问题。对于那些在 2016 年看到这个的人来说,仅供参考。清单条目现在不同了。我建议抓取 CastVideos-android 项目清单中的任何内容。

<receiver android:name="com.google.android.libraries.cast.companionlibrary.remotecontrol.VideoIntentReceiver" />

<service
    android:name="com.google.android.libraries.cast.companionlibrary.notification.VideoCastNotificationService" />

<service android:name="com.google.android.libraries.cast.companionlibrary.cast.reconnection.ReconnectionService"/>

【讨论】:

  • 很高兴看到您在几天前发布了此内容。当我将它们放在清单中时,我实际上遇到了崩溃: java.lang.IllegalArgumentException: android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{com.myapp/com.google.android.libraries.cast.companionlibrary .cast.player.VideoCastControllerActivity}
  • @PaulRuiz 您是否还包括来自 github 的最新演员配套库? github.com/googlecast/CastCompanionLibrary-android
  • 是的,我想通了 :) 有一个愚蠢的时刻,忘记在我的清单中包含演员活动
猜你喜欢
  • 2021-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-02
  • 1970-01-01
  • 2016-06-19
  • 2019-11-03
  • 2016-11-27
相关资源
最近更新 更多