【发布时间】:2017-06-07 13:44:01
【问题描述】:
我正在关注code lab tutorial。
我的 Gradle 文件是这样的
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" />
我已按照 codelab 教程的确切形式,复制并粘贴所有内容,同时更改需要更改的变量。 我的应用程序和 chromecast 设备连接到同一个网络。 Chromecast 按钮出现在 Youtube 应用程序中,但没有出现在我的应用程序中。我错过了什么? 谢谢
【问题讨论】:
-
在您的链接教程中查看。最后的注释
-
请记住,您需要重复这些步骤以在项目的所有活动中添加 Cast 按钮.....这一行最后写入您的 Given Link....您在所有活动..?
-
我在每个活动中都这样做了
-
我检查过了...你的代码没有问题...两者都是一样的
-
我认为...现在您必须再次重复所有步骤...不要浪费您的时间来找出解决方案...因为您的代码没有问题。
标签: java android chromecast