我在我的应用程序中从 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/