我正在编写一个chromecast接收器应用程序,它(希望)允许我远程将警报消息放在我的电视上作为提醒.
我的计划是在我的家庭网络上安装专用无线设备,以便不断地从中央服务器轮询新消息.当找到新消息时,它将连接到chromecast路由,打开电视并显示新消息.
但据我所知,激活chromecast路线的唯一方法是手动点击Chrome浏览器或无线设备上的chromecast图标.
有没有办法以编程方式激活chromecast?可以在发件人中完成吗?
解决方法
您可以以编程方式扫描强制转换设备并在需要时连接到它们.步骤是:
>从系统中获取MediaRouter单例的实例:mMediaRouter
>构建一个选择器:
mMediaRouteSelector = new MediaRouteSelector.Builder()
.addControlCategory(
CastMediaControlIntent
.categoryForCast(YOUR_APP_ID))建立();
>添加回调以启动扫描:
mMediaRouter.addCallback(mMediaRouteSelector,mMediaRouterCallback,
MediaRouter.CALLBACK_FLAG_PERFORM_ACTIVE_SCAN);
>在发现或删除路由时,将调用回调的onRouteAdded()和onRouteRemoved()(即mMediaRouterCallback).您可以在应用中维护路由列表,并使用这两个回调使其保持最新.
>您可以通过调用mMediaRouter.selectRoute(aRouteInfo)来选择路线.然后将调用你的回调的onRouteSelected(),你可以像往常一样提取演员设备并随意做.