我在游戏关卡结束时显示插页式广告。当用户非常快速地按下“后退”按钮时,有时会发生崩溃:
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)
我使用的是最新版本的Google Play服务(第25版)。显示Admob interstitial的代码已经在try-catch块中,但这没有用。
有没有办法防止崩溃?
答案 0 :(得分:1)
你确定你的try catch块已经捕获到了IllegalStateException吗?
try{
}catch(IllegalStateException e){
}
如果不是,则必须捕获illegalStateException
答案 1 :(得分:0)
无法捕获异常。 它是从UI线程抛出的,堆栈中没有任何代码。
Admob无疑将在不久的将来修复它。