java - 是否可以通过单个产品 ID 获取单个商品 SKU 详细信息? (Android、Iab 助手)

标签 java android in-app-billing android-billing

我想使用 IabHelper 获取单个 SKU 详细信息(不是 ArrayList),方法是放置单个 ProductID putString()(不是 putStringArrayList)

    ...
    final int API_VERSION = 3;
    final String PACKAGE_NAME = mContext.getPackageName();
    Bundle bandleSKU = new Bundle();
    querySkus.putString(GET_SKU_DETAILS_ITEM_LIST, "<someProcuctID>"); 
    Bundle skuDetails = mService.getSkuDetails(API_VERSION, PACKAGE_NAME, type, bandleSKU);

    if (null != skuDetails) {
        int response = skuDetails.getInt(RESPONSE_CODE);
        if (response == BILLING_RESPONSE_RESULT_OK) {
           String response = skuDetails.getString(RESPONSE_GET_SKU_DETAILS_LIST);
         }
    }
   ...

最佳答案

不,这违反了该调用的约定。您应该做的是创建一个大小为 1 的新 ArrayList 并在其中添加您的产品 ID:

...
Bundle bandleSKU = new Bundle();
ArrayList<String> productIds = new ArrayList<>(1);
productIds.add("<someProductID>");
querySkus.putString(GET_SKU_DETAILS_ITEM_LIST, productIds); 
Bundle skuDetails = mService.getSkuDetails(API_VERSION, PACKAGE_NAME, type, bandleSKU);

if (null != skuDetails) {
    int response = skuDetails.getInt(RESPONSE_CODE);
    if (response == BILLING_RESPONSE_RESULT_OK) {
        ArrayList<String> responseList = skuDetails.getStringArrayList(RESPONSE_GET_SKU_DETAILS_LIST);
        String productDetailsJson = responseList.get(0);
    }
}
...

关于java - 是否可以通过单个产品 ID 获取单个商品 SKU 详细信息? (Android、Iab 助手),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39547393/

相关文章:

java - Proguard - Proguard 返回错误代码 1。请参阅控制台

android - InAppBilling v3 IabResult 响应代码 BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED

java - 如何防止 Eclipse 在粘贴代码时自动导入包?

android - 如何处理 facebook asyncrunner 更新 UI

java - 小程序-服务器通信,我该怎么做?

android - 根据一组类别检索数据

Android应用内购买,如何检查用户是否购买了一件商品

Android:应用内计费 - 取消订阅

java - Eclipse Sonar Lint 默认配置文件

java - Riak Java客户端编译失败