【问题标题】:Cast SDK V3 : Modify Cast NotificationOptions runtimeCast SDK V3:修改 Cast NotificationOptions 运行时
【发布时间】:2017-03-01 16:01:14
【问题描述】:

是否可以修改NotificationOptions 运行时?

我正在开发的应用程序需要基于这些功能的不同操作:

  • 对于视频:REWIND、TOGGLE_PLAYBACK、FORWARD
  • 对于音频:TOGGLE_PLAYBACK

另外,是否可以在应用处于前台时触发通知?

演员文件提到"The Notification will only be shown when the app is in the background."

我花了足够的时间浏览 CastSDK 文档,但没有找到任何解决方案。谁能帮我解决这个问题?

【问题讨论】:

    标签: java android chromecast


    【解决方案1】:

    1.是否可以修改NotificationOptions运行时?

    • 我看不到直接修改NotificationOptions 运行时的方法,但如果初始化Cast Context 会有所帮助。如documentation 中所述

      您的应用必须实现 OptionsProvider 接口以提供初始化 CastContext 单例所需的选项。 OptionsProvider 提供了一个 CastOptions 实例,其中包含影响框架行为的选项。

    初始化后,您可以添加扩展控制器,您可以在其中声明您的新活动,然后编辑 CastOptionsProvider 并更改 NotificationOptionsCastMediaOptions 以将目标活动设置为您的新活动:

     public CastOptions getCastOptions(Context context) {
            NotificationOptions notificationOptions = new NotificationOptions.Builder()
                    .setTargetActivityClassName(ExpandedControlsActivity.class.getName())
                    .build();
            CastMediaOptions mediaOptions = new CastMediaOptions.Builder()
                    .setNotificationOptions(notificationOptions)
                    .setExpandedControllerActivityClassName(ExpandedControlsActivity.class.getName())
                    .build();
    
            return new CastOptions.Builder()
                .setReceiverApplicationId(context.getString(R.string.app_id))
                .setCastMediaOptions(mediaOptions)
                .build();
     }
    

    请仔细阅读给定的文档,了解在初始化投射上下文后可以执行的其他操作,例如配置设备发现以及有关会话管理如何工作的其他详细信息。

    2。应用在前台时是否可以触发通知?

    • Notification and Lock Screen 在 Cast SDK V3 中,

      SDK 提供了一个NotificationsOptions.Builder 来帮助您将通知和锁定屏幕的媒体控件构建到发件人应用程序中。初始化 CastContext 时,可以使用 CastOptions 启用通知和锁定屏幕控件。

    此外,为了更清楚起见,Media Controls to Notification and Lock Screen 中指出

    MediaNotificationService 在发件人正在投射但没有焦点时在后台运行,并会显示带有图像缩略图的通知以及有关当前投射项目的信息、播放/暂停按钮和停止按钮。

    警告:如果您正在构建 v3 应用或迁移到 v3,则应该使用 CastContext 而不是 GoogleAPIClient 来访问 Cast API。

    希望有帮助!

    【讨论】:

    • 感谢 Teyam,我已经实现了文档中准确提到的所有框架组件,并且一切正常。我面临的唯一问题是根据功能进行不同的通知操作。如果我来自你的 cmets看起来我们没有办法修改
    • CastContext 初始化后的NotificationOptions。
    【解决方案2】:

    要在演员通知中使用动态操作,请使用NotificationActionsProvider。您可以在文档中找到完整的指南。

    【讨论】:

      猜你喜欢
      • 2017-10-06
      • 2018-02-28
      • 2017-01-07
      • 1970-01-01
      • 2017-02-17
      • 1970-01-01
      • 2019-06-25
      • 1970-01-01
      • 2021-08-15
      相关资源
      最近更新 更多