Cast SDK V3:修改Cast NotificationOptions运行时

时间:2016-10-19 20:39:41

标签: java android chromecast

是否可以修改NotificationOptions运行时?

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

  • 视频:REWIND,TOGGLE_PLAYBACK,FORWARD
  • For Audio:TOGGLE_PLAYBACK

此外,当应用程序位于前台时,是否可以触发通知?

提及的文档"The Notification will only be shown when the app is in the background."

我花了足够的时间浏览CastSDK文档,但没有找到任何解决方案。有人可以帮我这个吗?

2 个答案:

答案 0 :(得分: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。当应用程序位于前台时,是否可以触发通知?

    Cast SDK V3中的
  • Notification and Lock Screen
      

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

此外,为了增加一些清晰度,在Media Controls to Notification and Lock Screen中说明了

  当发送者正在投射但没有焦点时,

MediaNotificationService会在后台运行,并会显示带有图像缩略图的通知以及有关当前投射项目,播放/暂停按钮和停止按钮的信息。< / p>

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

希望有所帮助!

答案 1 :(得分:0)

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