我在三个特定三星型号上的 Android 应用程序的生产中遇到了奇怪的崩溃。它抱怨我没有覆盖onNewSessionEvent
标准Android平台中不存在的抽象方法:http:
//developer.android.com/reference/android/media/RemoteController.OnClientUpdateListener.html
Fatal Exception: java.lang.AbstractMethodError: abstract method "void android.media.RemoteController$OnClientUpdateListener.onClientSessionEvent(java.lang.String, android.os.Bundle)"
at android.media.RemoteController.onNewSessionEvent(RemoteController.java:1208)
at android.media.RemoteController.access$1000(RemoteController.java:61)
at android.media.RemoteController$MediaControllerCallback.onSessionEvent(RemoteController.java:851)
at android.media.session.MediaController$MessageHandler.handleMessage(MediaController.java:1073)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6117)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
这三个型号是 Galaxy S5(AT&T 和 Sprint)和 S6 Edge(T-mobile),都在 5.x 上。我没有这些设备,所以我当然无法在本地复制和排除故障。
我的代码确实使用了OnClientUpdateListener
在 a 上注册的RemoteController
,但这是有道理的。
有任何想法吗?