android - 无法在没有互联网连接的情况下查询库存

标签 android in-app-billing

我在我的应用程序中从 TrivialDrive 更新 IAB Helper。如果没有互联网连接,QueryInventoryFinishedListener 开始获取 result.isFailure()。在早期版本的 IAB Helper 中,没有 result.isFailure() 一切正常,即使一个星期没有互联网连接也是如此。

这是 IAB Helper 新版本的功能还是我做错了什么?

IabHelper.QueryInventoryFinishedListener mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() { public void onQueryInventoryFinished(IabResult result, Inventory inventory) { Log.d(TAG, "查询库存完成。");

        if (mHelper == null) {
            Log.d(TAG, "null: " + result);
            return;
        }

        if (result.isFailure()) {
            Log.d(TAG, "Failed to query inventory: " + result);
            return;
        }
        Log.d(TAG, "Query inventory was successful.");
        Purchase proPurchase = inventory.getPurchase(SKU_PRO);
        mIsPro = (proPurchase != null);`

最佳答案

与 IabHelper 对话的应用内结算服务缓存购买历史记录并能够离线查询库存。但有些选项(例如不提供目标 SKU 列表或请求 SKU 详细信息)强制服务与服务器对话,如果没有互联网连接,这是不可能的。因此,如果您希望能够离线查询库存,请按以下方式进行:

boolean querySkuDetails = isNetworkAvailable();
mHelper.queryInventoryAsync(querySkuDetails, skuList, this);

关于android - 无法在没有互联网连接的情况下查询库存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39244026/

相关文章:

Android - Google Maps API v2 - NoClassDefFoundError

android - 如何更改 Android 菜单项的自定义字体?

android - 从服务器 RPC :s-7:AEC-0 检索信息时出错

android - onPurchasesUpdated 中的购买列表

Android:购买后消费产品(应用内计费)

android - InAppPurchase Android 验证问题

Android Gradle 实现与 CompileOnly 性能

android - 在 Android 中打开布局而不触摸通知

android - 将 android camera2 图像保存为无损 PNG

Android中应用内订阅项目的Android到期时间