是否可以修改NotificationOptions
运行时?
我正在处理的应用程序需要基于这些功能的不同操作:
此外,当应用程序位于前台时,是否可以触发通知?
提及的文档"The Notification will only be shown when the app is in the background."
我花了足够的时间浏览CastSDK文档,但没有找到任何解决方案。有人可以帮我这个吗?
答案 0 :(得分:1)
<强> 1。是否可以修改NotificationOptions
运行时?
NotificationOptions
运行时的方法,但是如果你初始化Cast Context会有所帮助。如documentation中所述
您的应用必须实现
OptionsProvider
界面才能提供初始化CastContext单例所需的选项。 OptionsProvider提供CastOptions的实例,其中包含影响框架行为的选项。
初始化之后,您可以添加扩展控制器,您可以在其中声明新活动,然后修改CastOptionsProvider
并更改NotificationOptions
和CastMediaOptions
以将目标活动设置为新活动:
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。当应用程序位于前台时,是否可以触发通知?
SDK提供
NotificationsOptions.Builder
来帮助您为通知构建媒体控件并将屏幕锁定到发件人应用中。初始化CastContext时,可以使用CastOptions启用通知和锁定屏幕控件。
此外,为了增加一些清晰度,在Media Controls to Notification and Lock Screen中说明了
当发送者正在投射但没有焦点时,
MediaNotificationService
会在后台运行,并会显示带有图像缩略图的通知以及有关当前投射项目,播放/暂停按钮和停止按钮的信息。< / p>
警告:如果您要构建v3应用或迁移到v3,则应使用CastContext
而不是GoogleAPIClient来访问Cast API。
希望有所帮助!
答案 1 :(得分:0)
要在投射通知中进行动态操作,请使用NotificationActionsProvider。您可以在文档中找到完整的指南。