2014-09-05 66 views
3

我在使用Android的IAB购物时遇到问题。使用Android应用内结算购买商品时出现无法识别的错误

我似乎能够得到buyIntent,我用这个代码,由IAB documentation采取启动:

Bundle buyIntentBundle = mService.getBuyIntent(3, getPackageName(), 
        sku, "inapp", getString(R.string.iab_key)); 

int response = buyIntentBundle.getInt("RESPONSE_CODE"); 
if(response == 0) { 
    PendingIntent pendingIntent = buyIntentBundle.getParcelable("BUY_INTENT"); 
    startIntentSenderForResult(pendingIntent.getIntentSender(), 
         1001, new Intent(), 0, 0, 0); 
} 

然而,当意图开始,我得到一个错误信息上的应用程序指出“项目的购买不可能的(错误代码IAB-LPD)”(来自意大利松散翻译),并在onActivityResult方法,做

int responseCode = data.getIntExtra("RESPONSE_CODE", 0); 

时,我得到的2 responseCode,未在IAB API reference记录,像我一样t记录错误代码0,1,3,4等等。

Api V2参考指出,错误代码2适用于网络连接关闭的情况,但我的设备连接似乎工作正常。

我也没有在互联网上的任何地方发现任何对错误代码“IAB-LPD”的引用。

我尝试将我的许可证密钥更改为无效值,并且我预料会收到一条错误消息,指出“此应用程序未授权进行结算”,因此我认为这不是我使用的许可证密钥的问题。

我错过了什么?

更新:我也并不认为这是有权限的问题,因为我能够从文档中描述的相同的技术得到SKU的细节。

更多更新:我也不会在LogCat中得到任何错误,无论是在启动意图时还是在执行onActivityResult时。

回答

2

我假设你看到错误消息是

Impossibile acquistare l'articolo. (Codice di errore: IAB-LPD) 

似乎是在该消息的意大利语翻译错误(错误代码已被翻译)。

你正在寻找的错误消息为

The item could not be purchased. (Error code: IAB-DPTL) 

答案this question应该帮助您解决问题。

(对于给您带来的不便,我们对此表示歉意,我提交了一个错误修复程序,它应该在即将发布的版本中修复。)

相关问题