【发布时间】:2017-04-11 00:39:33
【问题描述】:
我正在尝试自动发现 Cast 设备。这基本上是我所看到的如何做到这一点的逐字记录,但是我从来没有得到 onRouteAdded 或 onRouteSelected 的回调。
我尝试更改使用的标志,但没有得到不同的结果。有时会添加路线,但从未选择过。
private void startSearchForDevicesAndCast() {
MediaRouter router = MediaRouter.getInstance(this);
int count = router.getRoutes().size();
List<MediaRouter.RouteInfo> j = router.getRoutes();
MediaRouteSelector selector = new MediaRouteSelector.Builder().addControlCategory(
CastMediaControlIntent.categoryForCast(getString(R.string.app_id))).build();
router.addCallback(selector, new MediaRouter.Callback() {
@Override
public void onRouteAdded(MediaRouter router, MediaRouter.RouteInfo route) {
super.onRouteAdded(router, route);
Log.i(TAG, "onRouteAdded: ");
router.selectRoute(route);
}
@Override
public void onRouteChanged(MediaRouter router, MediaRouter.RouteInfo route) {
super.onRouteChanged(router, route);
Log.i(TAG, "onRouteChanged: ");
}
@Override
public void onRouteSelected(MediaRouter router, MediaRouter.RouteInfo route) {
Log.i(TAG, "onRouteSelected: ");
super.onRouteSelected(router, route);
}
}, MediaRouter.CALLBACK_FLAG_PERFORM_ACTIVE_SCAN);
}
【问题讨论】:
-
你正在采取什么行动,你希望 onRouteSelected( 被调用并且它没有发生?
-
@AliNaddaf 抱歉,我的问题措辞错误。我弄错了,没有得到 onRouteAdded 或 onRouteSelected 的回调。有时 onRouteChanged 会返回,但我认为这只是因为它已经在以前的路线列表中,但路线似乎也从未改变。但我确实看到了它的回调。
-
好的,我把步骤写下来;由于它有点长,我将把它写成答案而不是评论。
标签: android casting chromecast mediarouter