Я пытаюсь автоматически обнаружить Cast устройства. Это в основном дословно то, что я видел для этого, но никогда не получаю обратный вызов для onRouteAdded или onRouteSelected.Обратный звонок для Android Cast - Media Router не возвращается
Я попытался изменить, какие флаги используются, но не получил разных результатов. Иногда маршрут будет добавлен, но никогда не будет выбран.
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
Хорошо, позвольте мне написать шаги; потому что это немного дольше, я собираюсь написать это как ответ, а не комментарий. –