自从我尝试使用CastHelloText(https://github.com/googlecast/CastHelloText-android)应用程序向Chromecast投射内容并没有成功以来,这已经过去了两天。我已按照README.md文件中的说明进行操作。当我开启应用程序时,"播放..."菜单项未创建。
我猜菜单项取决于要显示的内容,但必须缺少此挂钩。
该应用程序的代码与GitHub相同,但我会在此处粘贴最相关的代码段。
创建菜单:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.main, menu);
MenuItem mediaRouteMenuItem = menu.findItem(R.id.media_route_menu_item);
MediaRouteActionProvider mediaRouteActionProvider = (MediaRouteActionProvider) MenuItemCompat
.getActionProvider(mediaRouteMenuItem);
// Set the MediaRouteActionProvider selector for device discovery.
mediaRouteActionProvider.setRouteSelector(mMediaRouteSelector);
return true;
}
菜单本身:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<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>
我必须说我第一次使用Android Studio,并且在设置依赖项时遇到了一些问题,但现在我的代码正在设备上进行编译和运行。我已将appcompat-v7,mediarouter-v7和play-services库添加到我的项目中。
另外,在另一个实验中,我能够在MainActivity视图中包含MediaRouteButton,并尝试将相同的MediaRouteSelector附加到它。该按钮显示在应用程序上,但不起作用。
此外,我尝试创建自己的接收器应用程序并使用它,但也没有成功。
最后,我发现了一个报告相同行为的已关闭错误,并且还发布了一些屏幕截图:https://github.com/googlecast/CastHelloText-android/issues/5