接收广播意图act=com.android.vending.billing.PURCHASES_UPDATED时出错。

5

我在crashlytics日志中收到一个错误

java.lang.RuntimeException: 在com.android.billingclient.api.zzg@c300e4d android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1577)接收广播意图com.android.vending.billing.PURCHASES_UPDATED时出错,其包含附加项。android.app.-$$ Lambda $ LoadedApk $ ReceiverDispatcher $ Args $ _BumDX2UKsnxLVrE6UJsJZkotuA.run(未知源: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是从哪里来的呢?

2个回答

2

这个问题是一个架构问题,计费客户端在某个基础的Activity中的onCreate方法中被初始化,在几个活动中触发购买回调时出现了情况,其中一个活动处于非法状态。


如果不在Activity中初始化我们的计费客户端,应该在哪里进行初始化? - Adam Varhegyi
1
@AdamVarhegyi 我正在将计费客户端封装在单独的类中,并借助于Dagger/Hilt使其成为单例,然后在应用程序的onCreate方法中初始化计费客户端。 - Pavel Poley

-1
有趣的是,当我在拖车上拉onresume时,我修复了结帐链接的位置。以前oncreateview正在使用我的计费代码。

这并没有回答问题。一旦您拥有足够的声望,您将能够评论任何帖子;相反,提供不需要询问者澄清的答案。- 来自审核 - DigCamara
这个回答根本就没有任何意义。 - Udayaditya Barua

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接