【问题标题】:Google Cast icon doesn't showGoogle Cast 图标不显示
【发布时间】:2016-10-01 03:42:54
【问题描述】:

我正在尝试将 Google Cast 集成到我的应用程序中,但我的 Toolbar 上没有显示投射图标。

这是我尝试过的步骤。

Manifest.xml

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

<uses-permission android:name="android.permission.INTERNET" />

MainActivity.java

private MediaRouter mMediaRouter;
private MediaRouteSelector mMediaRouteSelector;
private MediaRouter.Callback mMediaRouterCallback;

onCreate()

        mMediaRouter = MediaRouter.getInstance( getApplicationContext() );
        mMediaRouteSelector = new MediaRouteSelector.Builder()
                .addControlCategory(
                        CastMediaControlIntent.categoryForCast("MYAPPID"))
                .build();
        mMediaRouterCallback = new MediaRouterCallback();

onResume()

    mMediaRouter.addCallback( mMediaRouteSelector, mMediaRouterCallback, MediaRouter.CALLBACK_FLAG_PERFORM_ACTIVE_SCAN );

onCreateOptionsMenu()

    MenuItem mediaRouteMenuItem = menu.findItem( R.id.media_route_menu_item );
    MediaRouteActionProvider mediaRouteActionProvider = (MediaRouteActionProvider) MenuItemCompat.getActionProvider( mediaRouteMenuItem );
    mediaRouteActionProvider.setRouteSelector( mMediaRouteSelector );

这个回调类:

class MediaRouterCallback extends MediaRouter.Callback {

    @Override
    public void onRouteSelected(MediaRouter router, MediaRouter.RouteInfo info) {

    }

    @Override
    public void onRouteUnselected( MediaRouter router, MediaRouter.RouteInfo info ) {

    }
}

Menu.xml

<item android:id="@+id/media_route_menu_item"
    android:title="Chromecast"
   app:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"
    app:showAsAction="always"
    />

我也尝试使用默认接收器。

我了解到您必须拥有 Google Cast 设备才能看到图标,有没有一种方法可以在没有设备的情况下测试应用程序?

【问题讨论】:

  • 你找到其他解决方案了吗?
  • 不,请帮帮我!
  • 我确实进行了进一步的搜索,目前唯一的选择是拥有答案中提到的设备,但如果您发现了什么,请在此处更新

标签: java android xml chromecast google-cast


【解决方案1】:

是的,您没看错,如果没有ChromeCast 设备与您的设备在同一网络中,您将看不到图标,

你可以找LeapCasthere,但是repo说它不再支持了,你也可以找AllCast看看是否符合你的需求

【讨论】:

  • 我已经安装了所有演员,但是如何在 Cast Developer Console 中注册 APP_ID 或 DeviceID,或者如何使用所有演员测试应用程序??
  • 你可以使用CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID,这样你就可以使用默认接收器,这样你就不需要注册应用程序进行测试了
  • 是的,但问题没有解决..我无法尝试应用程序
  • 你试过LeapCast吗?我知道它已被弃用,但除了这两个之外,您还需要 chromecast 设备本身,
  • 它被阻止了..“这个项目不再有效,因为谷歌锁定了整个 API”
猜你喜欢
  • 1970-01-01
  • 2014-03-23
  • 2015-02-24
  • 2023-03-09
  • 2014-07-18
  • 1970-01-01
  • 1970-01-01
  • 2014-12-08
  • 2020-11-07
相关资源
最近更新 更多