我在游戏关卡结束时展示了一个间隙。当用户非常快地按下后退按钮时,有时会发生崩溃:
java.lang.IllegalStateException
at android.media.MediaPlayer.getDuration(Native Method)
at com.google.android.gms.ads.internal.overlay.l.a(SourceFile:180)
at com.google.android.gms.ads.internal.overlay.n.run(SourceFile:204)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:4987)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
at dalvik.system.NativeStart.main(Native Method)
我使用的是谷歌Play服务(v25)的最新版本。用于显示Admob interstitial的代码已经在try-catch块中,但这没有帮助。
有没有办法防止这种崩溃?
发布于 2015-08-11 09:12:26
您确定您的try catch块已捕获IllegalStateException吗?
try{
}catch(IllegalStateException e){
}
如果不是,则必须捕获illegalStateException
发布于 2015-08-12 09:53:21
没有办法捕获异常。它是从UI线程抛出的,堆栈中没有任何代码。
毫无疑问,Admob将在不久的将来修复它。
https://stackoverflow.com/questions/31937482
复制相似问题