我试图使用CastCompanionLibrary的助手方法将强制转换图标添加到ActionBar中:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.main, menu);
mDataCastManager.addMediaRouterButton(menu, R.id.media_route_menu_item); // This one
return true;
}我将此作为我的menu.xml,这是由随附库中包含的PDF指定的:
<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>然而,在ActionBar中什么也没有出现。没有抛出错误,什么也看不见。如果我添加了一个不同的菜单项,只是为了看看我的菜单的所有设置是否正确,那么该项目就会显示得很好--只是这个强制动作菜单项没有出现。
我尝试过将"app“前缀改为"android",但是在库的某个地方我得到了一个NullPointerException,并且我尝试给菜单项一个不同的可见图标。什么都帮不上忙。
在AndroidStudio中,菜单预览显示一个标题为"Play on.“的菜单项,因此这看起来应该有效。
我做错了什么?
发布于 2014-02-18 15:45:24
发布于 2014-10-29 16:11:52
有时,这些类型的错误发生是因为proguard更改了对象和/或函数的名称。
一个可能的解决方案是将这些添加到progaurd配置文件中:
-dontwarn android.support.v7.**
-keep class android.support.v7.internal.** { *; }
-keep interface android.support.v7.internal.** { *; }
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }实际上,我在正确的行上有这个准确的错误,并且我没有为支持库正确地配置我的保护程序。
发布于 2015-11-05 15:47:52
在我的例子中,在设备注册之后,我忘记了重新启动chromecast设备。
https://stackoverflow.com/questions/21853534
复制相似问题