- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 Revenuecat 实现到我的应用程序中。当我尝试购买时出现此错误:
java.util.ArrayList cannot be cast to com.android.billingclient.api.SkuDetails
在此行中:Purchases.getSharedInstance().purchaseProduct(this, (SkuDetails) skuList, new MakePurchaseListener() {
我试图只购买一种产品。谁能帮我解决这个问题?他们的 sdk 引用是 Kotlin 中的。我请求帮助他们没有帮助。
这是代码:
Show.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// relativeLayout.setVisibility(View.VISIBLE);
List<String> skuList = new ArrayList<>();
skuList.add(ITEM_S);
Purchases.getSharedInstance().getNonSubscriptionSkus(skuList, new GetSkusResponseListener() {
@Override
public void onReceived(@NonNull List<SkuDetails> skus) {
makepurchase(skus);
}
@Override
public void onError(@NonNull PurchasesError error) {
}
});
}
});
private void makepurchase(List<SkuDetails> skuList){
Purchases.getSharedInstance().purchaseProduct(this, (SkuDetails) skuList, new MakePurchaseListener() {
@Override
public void onCompleted(@NonNull Purchase purchase, @NonNull PurchaserInfo purchaserInfo) {
Toast.makeText(UserInformation.this,"Purchase complete",Toast.LENGTH_LONG).show();
}
@Override
public void onError(@NonNull PurchasesError error, boolean userCancelled) {
}
});
}
最佳答案
首先,在onReceived
中你正在路过List<SkuDetails> skuList
到期望 List<String>
的方法- 应该是:
private void makepurchase(List<SkuDetails> skuList) {
}
然后,根据您的上下文,您应该迭代 skuList 并单独购买每个项目,或者修改 Purchases.getSharedInstance().purchaseProduct
的签名与 List<SkuDetails>
一起工作
更新:迭代skuList
单独购买每个 skuItem。
负面影响:尽可能多的消息Purchase complete
作为 skuList 的大小
private void makepurchase(List<SkuDetails> skuList) {
for (SkuDetails skuItem : skuList) {
Purchases.getSharedInstance()
.purchaseProduct(this, skuItem, new MakePurchaseListener() {
@Override
public void onCompleted(
@NonNull Purchase purchase, @NonNull PurchaserInfo purchaserInfo) {
Toast.makeText(UserInformation.this, "Purchase complete", Toast.LENGTH_LONG).show();
}
@Override
public void onError(@NonNull PurchasesError error, boolean userCancelled) {}
});
}
}
关于java.util.ArrayList 无法转换为 com.android.billingclient.api.SkuDetails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61189614/
我正在开发我的第一个 Android 应用程序。我真的从堆栈溢出中学到了很多东西。但是我目前的问题还没有找到解决方案。 我尝试实现“应用内购买”。我做了以下事情: 1) 在开发人员控制台中,我在 al
我正在尝试启用应用内购买,但无法弄清楚为什么我的 skuDetails 查询总是返回 0 个项目。 我已将该应用程序公开到我的内部测试并将我的邮件地址添加到许可证测试(尝试了我的开发人员邮件和 2.
我正在尝试实现新的应用内计费实现,因为简单的驱动器 2 实现似乎已放弃支持。以下用于创建 mSkuDetails map 的代码给了我一个奇怪的方法冲突错误。除了 map 插入行之外,它是直接从文档复
如何在调用时在java中.setSkuDetails(skuDetails) BillingFlowParams flowParams = BillingFlowParams.newBuilder()
我正在尝试将 Revenuecat 实现到我的应用程序中。当我尝试购买时出现此错误: java.util.ArrayList cannot be cast to com.android.billing
我是一名优秀的程序员,十分优秀!