Android中未显示Google Cast按钮
在我的项目中尝试使用Google的cast SDK v3时,即使我身边有活动的cast接收器,cast按钮也无法显示 我已将Google cast按钮添加到我的项目布局中,如下所示:Android中未显示Google Cast按钮,android,chromecast,google-cast,Android,Chromecast,Google Cast,在我的项目中尝试使用Google的cast SDK v3时,即使我身边有活动的cast接收器,cast按钮也无法显示 我已将Google cast按钮添加到我的项目布局中,如下所示: <android.support.v7.app.MediaRouteButton android:id="@+id/media_route_button" android:layout_width="wrap_content" android:layout_he
<android.support.v7.app.MediaRouteButton
android:id="@+id/media_route_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:mediaRouteTypes="user"
android:visibility="gone" />
我还创建了CastOptionsProvider
,并在我的AndroidManifest
文件中指向它
根据Google cast文档:
在v3中,发现过程由
当应用程序出现在前台并转到
背景资料。MediaRouteSelector和MediaRouter.Callback
不应使用
你知道为什么GoogleCast按钮不会自动出现,因为按钮应该处理自己的状态吗
编辑
我目前的解决方案/解决方法是:
castContext.addCastStateListener(
newState -> updateCastButtonVisibility(button, newState)
);
private static void updateCastButtonVisibility(View button, int state) {
if (state == CastState.NO_DEVICES_AVAILABLE) {
button.setVisibility(View.GONE);
} else {
button.setVisibility(View.VISIBLE);
}
}
一种可能是您的应用程序id还不存在。 当应用程序id无效时,GoogleCast按钮不会显示。 您可以测试默认id:
CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID
显然这是cast SDK中的一个bug 我已经为它开了一张罚单,Google cast团队设法复制了它并接受了这个bug
这里有一个指向的链接,您可以跟踪它您是否尝试过使用
android:visibility=“visible”
?@DanielZolnai该按钮应该管理它自己的可见性。从gone开始,如果有可用的接收器应用程序,它应该是可见的。CastVideos示例应用程序是否发现您的接收器?
CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID