2014-02-11 103 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

相關問題