首页 > 解决方案 > 接收广播 Intent 时出错 act=com.android.vending.billing.PURCHASES_UPDATED

问题描述

我在 crashlytics 日志中遇到错误

java.lang.RuntimeException:在 com.android.billingclient.api.zzg@c300e4d android.app 中接收广播 Intent { act=com.android.vending.billing.PURCHASES_UPDATED flg=0x10 pkg=*** (has extras) } 时出错.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1577) android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run(Unknown Source:2) android. os.Handler.handleCallback(Handler.java:938) android.os.Handler.dispatchMessage(Handler.java:99) android.os.Looper.loop(Looper.java:368) android.app.ActivityThread.main(ActivityThread. java:7710) java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)

使用标准 Google 计费库订阅 + 应用内计费

https://developer.android.com/google/play/billing/integrate

我在文档中没有看到我应该注册广播接收器,PURCHASES_UPDATED从哪里来?

标签: androidin-app-purchasein-app-billingandroid-billing

解决方案


问题是架构问题,计费客户端是在某个基础Activity中初始化的onCreate,并且是在少数活动中触发购买回调的情况,其中一个处于非法状态。


推荐阅读