我正在构建一个应用程序,它将自动启动chromecast接收器应用程序,而无需用户单击mediaroute按钮并选择路径。用户已经选择了他们想要的路线,我的应用程序会尝试连接一段时间,直到成功(希望如此)。
当它成功时,应用程序将启动到正确的路由,但是mediarouter菜单项(传统上用于选择路由的项目)不会更新,它仍然处于断开连接状态。一旦用户点击它(当应用程序已经连接到接收器时)它向他显示可能的路线,并且一旦他选择路线(已经连接并显示应用程序的路线),媒体路由器菜单项就会自动更新显示它已连接并允许用户在下次单击时断开连接。
我希望在成功连接到接收器(路由)后进行更新。这样,用户只需点击几下即可断开连接(一次在菜单项上,一次在'停止投射'按钮上)。
我正在使用CastCompanionLibrary,但在这种情况下我认为不重要。
我可以通过直接调用MediaRouter.Callback来启动接收器而无需用户操作:
mCastManager.onRouteSelected(mMediaRouter, theRoute);
其中mMediaRouter
是MediaRouter
实例,而theRoute
是MediaRouter.RouteInfo
实例,其中包含预先选择的接收方路由。
此外,我愿意接受更好地实现从服务/活动自动启动接收器应用程序的建议。
答案 0 :(得分:1)
当您确认已连接并想要将投射按钮的状态设置为“已连接”时,请致电mMediaRouter.selectRoute(theRoute);
。