尝试在我的项目中使用Google的强制转换SDK v3,即使我在我附近有投射接收器,也无法显示强制转换按钮
我已将Google强制转换按钮添加到我的项目布局中,如下所示:
<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" />
上面的按钮是 NOT 一个菜单按钮,所以我在onCreate中设置了按钮,如下所示:
CastButtonFactory.setUpMediaRouteButton(getApplicationContext(), mediaRouteButton);
我还创建了CastOptionsProvider
并在我的AndroidManifest
文件
根据Google演员文档:
在v3中,发现过程自动启动和停止 当应用程序到达前台并进入时的框架 背景,分别。 MediaRouteSelector和MediaRouter.Callback 不应该使用。
任何想法为什么谷歌演员按钮不会自动出现,因为按钮应该处理他自己的状态?
修改
我当前的解决方案/解决方法是:
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);
}
}
答案 0 :(得分:6)
答案 1 :(得分:5)
一种可能性是您的应用程序ID尚不存在。 GoogleCast按钮未显示是应用程序ID无效。 您可以测试默认ID:
CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID