2014-02-11 105 views
1

我正在写一个chromecast接收器应用程序,它将(希望)允许我远程将警报消息放在电视上作为提醒。是否有可能以编程方式连接到Chromecast路由?

我的计划是在家庭网络上有一个专用的无线设备,该设备将不断地轮询来自中央服务器的新消息。当找到新消息时,它会连接到Chromecast路由,打开电视并显示新消息。

但据我所知,激活Chromecast路线的唯一方法是手动点击我的Chrome浏览器或无线设备上的Chromecast图标。

有没有一种方法,以编程方式来激活chromecast?它可以在发件人完成吗?

回答

2

您可以通过编程扫描投射设备并在需要时连接到它们。步骤是:

  1. 获得来自系统的MediaRouter单的一个实例:mMediaRouter
  2. 建立一个选择: mMediaRouteSelector = new MediaRouteSelector.Builder() .addControlCategory( CastMediaControlIntent .categoryForCast(YOUR_APP_ID)).build();
  3. 添加一个回调来启动扫描: mMediaRouter.addCallback(mMediaRouteSelector, mMediaRouterCallback, MediaRouter.CALLBACK_FLAG_PERFORM_ACTIVE_SCAN);
  4. onRouteAdded()onRouteRemoved()您的回调(即mMediaRouterCallback)将在路由被发现或删除时被调用。您可以在您的应用中维护路由列表,并使用这两个回调让它们保持最新状态。
  5. 您可以致电mMediaRouter.selectRoute(aRouteInfo)选择路线。然后你的回调的onRouteSelected()将被调用,你可以像往常一样提取演员设备,并按你的意愿去做。

这些表示,请记住,如果您想在电视上向用户显示通知,那么您的应用应该在您想发送通知时在Chromecast上运行。

+0

对延迟标记为答案表示歉意。当我最初问这个问题时,我实际上并没有尝试制作一个_android_发件人(只有铬),所以我不知道是否要标记它。在最终制作Android发件人之后,您的解决方案似乎对Android有效。 你有没有意识到以编程方式在Chrome发送器中选择路由的方法? – Donnie

相关问题