如何在FragmentActivity上保持MediaRouteButton状态并避免禁用状态
我已经编写了一项服务来处理项目中片段活动的所有强制性sdk逻辑。创建后,即表示启用了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.
答案 0 :(得分:0)
此行为写在documentation for MediaRouteButton
中:
选择默认路由或当前选择时 路线与
selector
, 该按钮将以无效状态显示,表明 应用程序未连接到它想要的那种路由 采用。点击按钮打开一个MediaRouteChooserDialog
允许用户选择路线。如果没有非默认路由匹配 选择器,并且主动扫描不可能发现任何选择器 匹配路线,则该按钮将被禁用并且无法单击。当选择了与选择器匹配的非默认路由时, 按钮将以活动状态出现,表明该应用程序 连接到它要使用的那种路由。按钮 如果路由位于,则也可能会出现中间连接状态 连接到目的地但尚未完成的过程 这样做。无论哪种情况,单击按钮都会打开一个
MediaRouteControllerDialog
允许用户控制或断开当前路线。