Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android InApp v3 queryInventoryAsync不';t在其他设备上返回有关已购买项目的信息_Android_In App Purchase_In App Billing - Fatal编程技术网

Android InApp v3 queryInventoryAsync不';t在其他设备上返回有关已购买项目的信息

Android InApp v3 queryInventoryAsync不';t在其他设备上返回有关已购买项目的信息,android,in-app-purchase,in-app-billing,Android,In App Purchase,In App Billing,我正在开发支持InAppBilling的Android应用程序。 有以下算法: 检查用户购买的内容并展示 mHelper.queryInventoryAsync(false,null,侦听器) 然后检查用户可以购买什么(以便为他显示一些对话框) mHelper.queryInventoryAsync(true、skuList、listener) 而且在某些设备(手机)上一切都正常 然后我在平板电脑上安装了应用程序(使用相同的帐户),但无法获得有关购买物品的信息 (关于用户可以购买的物品的信息

我正在开发支持InAppBilling的Android应用程序。 有以下算法:

  • 检查用户购买的内容并展示
  • mHelper.queryInventoryAsync(false,null,侦听器)
    
  • 然后检查用户可以购买什么(以便为他显示一些对话框)
  • mHelper.queryInventoryAsync(true、skuList、listener)
    
    而且在某些设备(手机)上一切都正常

    然后我在平板电脑上安装了应用程序(使用相同的帐户),但无法获得有关购买物品的信息

    (关于用户可以购买的物品的信息,我可以成功获得。)

    如何在其他设备(使用相同的帐户)上获取有关付费项目(用户已购买的项目)的信息

    --更新--

    非常奇怪的用例:

  • 用户在手机上使用Android应用计费功能购买3个可用物品中的2个

  • 在手机上查看2件刚买的物品。它们是可见的

  • 在平板电脑(或其他设备)上安装应用程序

  • 检查平板电脑上的2件刚买的物品。它们也是可见的

  • 在手机上购买最后一件商品

  • 检查电话上的第三项。它是可见的

  • 检查平板电脑上的第三项它不可见

  • 源代码中发生了什么:

    IabHelper.java

    Bundle-ownedItems=mService.getPurchases(3,mContext.getPackageName(),
    itemType,continueToken);
    ...
    ArrayList ownedSkus=ownedItems.getStringArrayList(
    响应(适用于项目清单);
    ArrayList purchaseDataList=ownedItems.getStringArrayList(
    响应(应用、采购、数据、清单);
    ArrayList signatureList=ownedItems.getStringArrayList(
    答复(在申请书、签字单上);
    
    考虑第5-7项(刚刚购买了第3项):

  • 在电话中,我们有3件购买物品的信息

  • 在平板电脑上,我们有两件购买物品的信息(第一件和第二件)但是为什么第三项在这里不可用?


  • 看起来是谷歌游戏的问题。可以通过清除Google Play应用程序的缓存或重新启动设备来修复