Chromecast按钮在Android中不可见
我正在关注code lab tutorial。Chromecast按钮在Android中不可见
我的摇篮文件看起来像这样
dependencies {
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.android.support:mediarouter-v7:25.0.0'}
这是我CastOptionsProvider类
public class CastOptionsProvider implements OptionsProvider {
@Override
public CastOptions getCastOptions(Context context) {
return new CastOptions.Builder()
.setReceiverApplicationId(context.getString(R.string.chromecast_app_id))
.build();
}
@Override
public List<SessionProvider> getAdditionalSessionProviders(Context context) {
return null;
}}
这是菜单的xml文件
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<item
android:id="@+id/media_route_menu_item"
android:title="@string/media_route_menu_title"
app:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"
app:showAsAction="always" /></menu>
而且这是在MainActivity我OnCreateOptionsMenu方法
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.navigation_drawer, menu);
mediaRouteMenuItem = CastButtonFactory.setUpMediaRouteButton(getApplicationContext(), menu, R.id.media_route_menu_item);
return true;
}
而这个清单文件
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="com.mypackage.CastOptionsProvider" />
我按照代码实验室教程,其具体形式,复制并同时改变其需要改变的那些变量粘贴的一切。 我的应用程序和chromecast设备连接到同一个网络。 Chromecast按钮会显示在Youtube应用中,但不会显示在我的应用中。我错过了什么? 感谢
属性图标可能是无效的APP_ID。
你可以尝试从样本项目APP_ID字符串资源值替换您的chromecast_app_id字符串资源。
(现在,它的4F8B3483参见:https://github.com/googlecast/CastVideos-android/blob/master/res/values/strings.xml)。
不管你信不信,切换到该值后,我的应用程序中可以看到投射图标。
你缺少这里
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<item
android:id="@+id/media_route_menu_item"
android:title="@string/media_route_menu_title"
android:icon="@drawable/chromebutton" app:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"
app:showAsAction="always" /></menu>
我们是否必须明确提供它? – theanilpaudel
是的,你必须添加图标属性 – Harmantj
如果一切都处理得当,您只需要重新启动投设备(它不与您的APP_ID未经登记后重启工作)。
如果您的应用程序ID正确且状态为已发布,请登录Google Cast SDK Developer Console。
发布您的应用程序ID时,请重新启动您的Chromecast设备。
出于测试目的,你可以使用CC1AD845或4F8B3483作为应用程序ID。这些来自Google示例应用程序。
看到你的链接tutorial.at最后笔记 –
记住,你需要重复这些步骤,以在项目的所有活动添加演员按钮.....这条线是在给定链路在最后写...你在所有的活动中都做过...? –
我已经在每个活动 – theanilpaudel