在死线程Google Admob Rewarded视频上向处理程序发送消息

Pal*_*rji 11 android admob android-handler

在完成整个视频后,我从Google 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.
Run Code Online (Sandbox Code Playgroud)

小智 0

最近我正在研究 Google AdMob Reward 视频。显示奖励视频后,我的应用程序崩溃了。实际原因是,“onVideoClosed”回调是从后台线程调用的,并且从后台线程我错误地更新了 UI 元素,这必须通过主线程完成。

因此,请检查是否有任何 UI 元素通过后台线程以任何方式更新。