我试图自动发现投射设备。这基本上是我见过的关于如何做到这一点的逐字记录,但是我从来没有得到onRouteAdded或onRouteSelected的回调。Android Cast - 不返回媒体路由器回调
我试过改变哪些标志被使用,但没有得到不同的结果。有时会添加路线,但从未选择。
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会返回,但我认为这只是因为它已经在前一次的路由列表中,但是路由从来没有出现过变化,但是我确实看到了它的回调。 – Lucas
好的,让我写下步骤;因为它有点长,我会写它作为答案而不是评论。 –