作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 android 应用程序中,我有一个弹出 Activity ,它出现在 MainActivity 前面,其中包含用户要购买的产品列表。当用户选择产品时 - 它调用 MainActivity.launchBilling(String skuId)
弹出 Activity :
recyclerViewDonate.addOnItemTouchListener(
new RecyclerItemClickListener(this, recyclerViewDonate ,new RecyclerItemClickListener.OnItemClickListener() {
@Override public void onItemClick(View view, int position) {
selectDonateSku = (String) list_sku_id.get(position);
MainActivity.launchBilling(selectDonateSku);
finish();
}
@Override public void onLongItemClick(View view, int position) {
selectDonateSku = (String) list_sku_id.get(position);
MainActivity.launchBilling(selectDonateSku);
finish();
}
})
);
主要 Activity :
public static void launchBilling(String skuId){
BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder()
.setSkuDetails(mSkuDetailsMap.get(skuId))
.build();
billingClient.launchBillingFlow(instance, billingFlowParams);
};
有时我在生产报告中收到错误。它说应用程序在 BillingFlowParams 构建器中崩溃。我不明白这次失败的根本原因是什么。有人可以建议如何解决这个问题吗?
错误:
java.lang.IllegalArgumentException: at com.android.billingclient.api.BillingFlowParams$Builder.build(com.android.billingclient:billing@@3.0.0:23)
at com.nosik.ochoforecasts.MainActivity.launchBilling (MainActivity.java:1136)
at com.nosik.ochoforecasts.DonateActivity$1.onItemClick (DonateActivity.java:69)
at com.nosik.ochoforecasts.RecyclerItemClickListener.onInterceptTouchEvent (RecyclerItemClickListener.java:34)
at androidx.recyclerview.widget.RecyclerView.findInterceptingOnItemTouchListener (RecyclerView.java:3151)
at androidx.recyclerview.widget.RecyclerView.dispatchToOnItemTouchListeners (RecyclerView.java:3122)
at androidx.recyclerview.widget.RecyclerView.onTouchEvent (RecyclerView.java:3283)
at android.view.View.dispatchTouchEvent (View.java:14376)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3857)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3535)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3863)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3551)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3863)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3551)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3863)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3551)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3863)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3551)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3863)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3551)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3863)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3551)
at com.android.internal.policy.DecorView.superDispatchTouchEvent (DecorView.java:729)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1922)
at android.app.Activity.dispatchTouchEvent (Activity.java:4051)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:69)
at com.android.internal.policy.DecorView.dispatchTouchEvent (DecorView.java:687)
at android.view.View.dispatchPointerEvent (View.java:14644)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:6478)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (ViewRootImpl.java:6265)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:5703)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:5756)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:5722)
at android.view.ViewRootImpl$AsyncInputStage.forward (ViewRootImpl.java:5878)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:5730)
at android.view.ViewRootImpl$AsyncInputStage.apply (ViewRootImpl.java:5935)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:5703)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:5756)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:5722)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:5730)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:5703)
at android.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:8862)
at android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:8723)
at android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:8676)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:8998)
at android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:194)
at android.os.MessageQueue.nativePollOnce (Native Method)
at android.os.MessageQueue.next (MessageQueue.java:336)
at android.os.Looper.loop (Looper.java:197)
at android.app.ActivityThread.main (ActivityThread.java:7814)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1068)```
最佳答案
“有人可以建议如何解决这个问题吗?”
答案:我们无法修复它,因为它是 billingclient 库的问题。已经上报给google,归类为BUG,只能等待billingclient库的新版本(3.02以上)
点击 issuetracker 页面上的星标,让谷歌知道您也有这个问题: https://issuetracker.google.com/180032099
关于Android 旅馆应用程序 BillingFlowParams 生成器失败并出现 java.lang.IllegalArgumentException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65935107/
我是一名优秀的程序员,十分优秀!