首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MediaRouter的Chromecast空指针异常

MediaRouter的Chromecast空指针异常
EN

Stack Overflow用户
提问于 2014-07-09 07:50:52
回答 1查看 755关注 0票数 1

我正在尝试将Chromecast图标放在我的菜单项中。我在我的菜单布局中定义了以下内容。

代码语言:javascript
复制
<item
android:id="@+id/media_route_menu_item"
android:title="Stream your videos!"
android:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"
android:showAsAction="always"/>

在我的onCreateOptionsMenu()方法中,我按照官方chromecast教程中的建议执行以下操作。

代码语言:javascript
复制
   1.   mediaRouteMenuItem = menu.findItem(R.id.media_route_menu_item);
   2.  mediaRouteActionProvider =
            (MediaRouteActionProvider) MenuItemCompat.getActionProvider(mediaRouteMenuItem);
   3. mediaRouteActionProvider.setRouteSelector(mMediaRouteSelector);

这给了我上面第3行中的这个错误。

代码语言:javascript
复制
 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.app.MediaRouteActionProvider.setRouteSelector(android.support.v7.media.MediaRouteSelector)' on a null object reference

我做错了什么?有人能帮帮我吗?

编辑:

这是我的mMediaRouteSelector:

代码语言:javascript
复制
         mMediaRouteSelector = new MediaRouteSelector.Builder()
            .addControlCategory(CastMediaControlIntent.categoryForCast("[MY APP ID]"))
            .build();
EN

回答 1

Stack Overflow用户

发布于 2014-10-30 00:08:27

有时,这些类型的错误发生是因为proguard更改了对象和/或函数的名称。

一种可能的解决方案是将以下内容添加到您的程序配置文件中:

代码语言:javascript
复制
-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.** { *; }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24643321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档