Tar*_*ury 9 android google-cast chromecast
尝试在我的项目中使用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" />
Run Code Online (Sandbox Code Playgroud)
上面的按钮不是菜单按钮,所以我在onCreate中设置了按钮,如下所示:
CastButtonFactory.setUpMediaRouteButton(getApplicationContext(), mediaRouteButton);
Run Code Online (Sandbox Code Playgroud)
我也在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);
}
}
Run Code Online (Sandbox Code Playgroud)
一种可能性是您的应用程序ID尚不存在.GoogleCast按钮未显示是应用程序ID无效.您可以测试默认ID:
CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1562 次 |
| 最近记录: |