Google Cast图标未显示

时间:2016-06-01 16:38:35

标签: java android xml chromecast google-cast

我正在尝试将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设备,以便图标可见,有没有办法在没有设备的情况下测试应用程序?

1 个答案:

答案 0 :(得分:1)

是的,您已经正确阅读,如果ChromeCast设备与您的设备位于同一网络中,则无法看到图标,

您可以查找LeapCast here,但回购说不再支持,您还可以查找 AllCast ,看看它是否符合您的需求