在完成整个视频后,我从谷歌Admob的奖励视频屏幕回到我的活动时得到了这个堆栈跟踪。它只是警告,而不是崩溃。观看视频后调用onRewardedVideoAdClosed()
方法,但onRewarded()
没有调用。任何帮助?
Handler (android.os.Handler) {5451758} sending message to a Handler on a dead thread
06-06 09:29:00.378: W/MessageQueue(10743): java.lang.IllegalStateException: Handler (android.os.Handler) {5451758} sending message to a Handler on a dead thread
06-06 09:29:00.378: W/MessageQueue(10743): at android.os.MessageQueue.enqueueMessage(MessageQueue.java:543)
06-06 09:29:00.378: W/MessageQueue(10743): at android.os.Handler.enqueueMessage(Handler.java:631)
06-06 09:29:00.378: W/MessageQueue(10743): at android.os.Handler.sendMessageAtTime(Handler.java:600)
06-06 09:29:00.378: W/MessageQueue(10743): at android.os.Handler.sendMessageDelayed(Handler.java:570)
06-06 09:29:00.378: W/MessageQueue(10743): at android.os.Handler.sendEmptyMessageDelayed(Handler.java:534)
06-06 09:29:00.378: W/MessageQueue(10743): at android.os.Handler.sendEmptyMessage(Handler.java:519)
06-06 09:29:00.378: W/MessageQueue(10743): at jm.c(:com.google.android.gms.DynamiteModulesA:2142)
06-06 09:29:00.378: W/MessageQueue(10743): at ahf.f(:com.google.android.gms.DynamiteModulesA:638)
06-06 09:29:00.378: W/MessageQueue(10743): at avj.b(:com.google.android.gms.DynamiteModulesA:1343)
06-06 09:29:00.378: W/MessageQueue(10743): at avt.s(:com.google.android.gms.DynamiteModulesA:79)
06-06 09:29:00.378: W/MessageQueue(10743): at avl.onPageFinished(:com.google.android.gms.DynamiteModulesA:381)
06-06 09:29:00.378: W/MessageQueue(10743): at com.android.webview.chromium.WebViewContentsClientAdapter.onPageFinished(WebViewContentsClientAdapter.java:524)
06-06 09:29:00.378: W/MessageQueue(10743): at org.chromium.android_webview.AwContentsClientCallbackHelper$MyHandler.handleMessage(AwContentsClientCallbackHelper.java:188)
06-06 09:29:00.378: W/MessageQueue(10743): at android.os.Handler.dispatchMessage(Handler.java:102)
06-06 09:29:00.378: W/MessageQueue(10743): at android.os.Looper.loop(Looper.java:148)
06-06 09:29:00.378: W/MessageQueue(10743): at android.app.ActivityThread.main(ActivityThread.java:5443)
06-06 09:29:00.378: W/MessageQueue(10743): at java.lang.reflect.Method.invoke(Native Method)
06-06 09:29:00.378: W/MessageQueue(10743): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
06-06 09:29:00.378: W/MessageQueue(10743): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
06-06 09:29:00.378: W/ExoPlayerImplInternal(10743): Sent message(1) after release. Message ignored.
最近我正在使用Google AdMob Reward视频。显示奖励视频后,我的应用程序崩溃了。实际的原因是,“onVideoClosed”回调从后台线程和后台线程调用我错误地更新了UI元素,这必须通过主线程来完成。
因此,请检查是否有任何UI元素通过后台线程进行更新。
当我在2个活动中使用广告奖励时,我得到了同样的错误。我搜索并找到了http://qaru.site/questions/1677496/admob-android-rewarded-video-not-showing-sometimes
简单的方法是不使用
mRewardedVideoAd.destroy(this);
or
mRewardedVideoAd.destroy(getApplicationContext());
在onDestroy()
,即使在官方文件中写道,你必须....