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

MediaRouter.dispatchRouteVolumeChanged中的空指针异常
EN

Stack Overflow用户
提问于 2013-05-28 15:51:23
回答 1查看 171关注 0票数 0

在Jelly 4.2.2上,当更改设备上的卷时,MediaRouter类会崩溃。

逻辑猫看起来如下所示:

代码语言:javascript
复制
E/AndroidRuntime(15239):    at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:768)
E/AndroidRuntime(15239):    at android.os.Handler.handleCallback(Handler.java:725)
E/AndroidRuntime(15239):    at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(15239):    at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(15239):    at android.app.ActivityThread.main(ActivityThread.java:5041)
E/AndroidRuntime(15239):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(15239):    at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(15239):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
E/AndroidRuntime(15239):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
E/AndroidRuntime(15239):    at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(15239): Caused by: java.lang.NullPointerException
E/AndroidRuntime(15239):    at android.media.MediaRouter.dispatchRouteVolumeChanged(MediaRouter.java:723)
E/AndroidRuntime(15239):    at android.media.MediaRouter.systemVolumeChanged(MediaRouter.java:742)
E/AndroidRuntime(15239):    at android.media.MediaRouter$VolumeChangeReceiver.onReceive(MediaRouter.java:2087)
E/AndroidRuntime(15239):    at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:758)
E/AndroidRuntime(15239):    ... 9 more

我尝试添加一个卷更改回调,如下所示:

代码语言:javascript
复制
public void onRouteVolumeChanged(MediaRouter router, MediaRouter.RouteInfo info) {
    Log.d(TAG, "onRouteVolumeChanged: info=" + info);
} 

但我还是被撞车了。我可以很容易地在4.2.2上重现这个问题,但是无法在早期版本的Android上重现,所以我觉得它可能是Android本身的一个bug。

我有两个问题:

  1. 有解决这个问题的方法吗?
  2. 我将如何/在哪里向Google报告这个问题(或者检查它是否已经被报告/修复)?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-05-28 16:50:02

尝试在调试器中运行它,并在分配(a)值之后设置一个断点。当调试器暂停时,检查变量的值。如果它读为"null",那么它没有被分配一个适当的值,或者没有被初始化。对不起,如果这是有点直白,我会改变这个答案,如果必要的话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16796349

复制
相关文章

相似问题

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