MediaRouteButton状态在FragmentActivity中不稳定

问题描述 投票:0回答:1

如何在FragmentActivity上保持MediaRouteButton状态并避免禁用状态

我编写了一个服务来处理项目中片段活动的所有强制转换逻辑。创建MediaRouteButton并且我能够连接但是如果我从演员设备断开连接或者没有足够快地选择设备时,该按钮被禁用并显示为灰色。它可能与默认路由连接有关。我尝试过设置一个mediaRouteSelector,并保留默认值。如何保持MediaRouteButton状态并使其保持启用状态。 (Chromecast设备存在于同一网络中,注册为具有接收方ID的开发设备等)

// mButton.routeSelector = mediaRouteSelector
CastButtonFactory.setUpMediaRouteButton(activity, mButton)
if(castContext == null) castContext = CastContext.getSharedInstance(activity.applicationContext)
setUpButton(castContext!!.castState, mButton)

Expected: MediaRouteButton state is kept (disabled avoided)
Actual: The MediaRouteButton is enabled and works for a while then disabled.
android kotlin sdk chromecast
1个回答
0
投票

这种行为写在documentation for MediaRouteButton

当选择默认路由或当前选择的路由与selector不匹配时,该按钮将显示为非活动状态,表示应用程序未连接到其要使用的路由类型。单击该按钮可打开MediaRouteChooserDialog以允许用户选择路线。如果没有非默认路由与选择器匹配,并且主动扫描无法发现任何匹配的路由,则该按钮将被禁用且无法单击。

当选择与选择器匹配的非默认路由时,该按钮将显示为活动状态,指示应用程序已连接到其要使用的类型的路由。如果路线正在连接到目的地但尚未完成,则按钮也可以出现在中间连接状态。在任何一种情况下,单击按钮都会打开MediaRouteControllerDialog以允许用户控制或断开当前路径。

© www.soinside.com 2019 - 2024. All rights reserved.