【问题标题】:MediaSessionCompat NullPointerException only on Android 8MediaSessionCompat NullPointerException 仅在 Android 8 上
【发布时间】:2018-03-27 07:39:11
【问题描述】:

同胞!

所以我的应用程序有问题,即使用 MediaSessionCompat。

崩溃问题仅出现在 Android 8 版本(8.1 也是)上,但主要出现在不同设备上的 8.0.0 上。

致命异常:java.lang.NullPointerException 尝试在空对象引用上调用虚拟方法“java.lang.Object java.lang.ref.Reference.get()”

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.lang.ref.Reference.get()' on a null object reference
   at android.support.v4.media.session.MediaSessionCompat$Callback$StubApi21.onCommand(MediaSessionCompat.java:955)
   at android.support.v4.media.session.MediaSessionCompatApi21$CallbackProxy.onCommand(MediaSessionCompatApi21.java:164)
   at android.media.session.MediaSession$CallbackMessageHandler.handleMessage(MediaSession.java:1352)
   at android.os.Handler.dispatchMessage(Handler.java:105)
   at android.os.Looper.loop(Looper.java:251)
   at android.app.ActivityThread.main(ActivityThread.java:6572)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

我在 Google 的论坛中进行了搜索,以前曾在该论坛和 StackOverflow 报告过此问题,但没有成功。

有人可以提供一些提示或建议吗?

【问题讨论】:

  • 提供您的代码。
  • 问题是,只有在 Android 8 和 8.1 上,当我开始播放音乐并且应用程序关闭(只有我的音乐服务在工作)时,我的服务才被销毁。我的服务中的 onDestroy() 调用取消注册接收器,据说之前没有注册。再来一次,只有 Android 8+。

标签: java android crash android-8.0-oreo android-8.1-oreo


【解决方案1】:

通过更新到最新的支持库版本解决了问题。

在 Google 的错误跟踪论坛的某个深处找到了答案。

如果有人遇到同样的问题 - 尝试将您的支持库版本至少更新到 27+ 版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-11
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多