在BillingClient.launchBillingFlow期间AndroidPlay商店崩溃
尝试为应用内项目启动计费时,我收到以下错误。
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“java.lang.String android.content.Intent.getStringExtra(java.lang.String)”
代码很简单。用户选择一个项目。然后我将该项目传递给 querySkuDetailsAsync。我得到并看到结果。由于 API 原因,我然后调用...
SkuDetails skuDetails = new SkuDetails(skuDetails.getOriginalJSON());
BillingFlowParams flowParams = BillingFlowParams.newBuilder().setSkuDetails(skuDetails).build();
BillingResult billingResult = client.launchBillingFlow(activity, flowParams);
然后,大多数时候,我得到了 NPE。一切正常。我不知道是什么变化导致了这个问题。
请注意,我确实尝试过直接传递 skuDetails,以防 JSON 是问题所在。它没有用。
计费库不是开源的,所以我不知道如何解决这个问题。
回答
我找到了解决方案。如果我在调用“launchBillingFlow”之前调用activity.setIntent(new Intent()),错误就会消失。似乎是现在关闭源的计费库中的一个错误。
THE END
二维码