2013-10-03 27 views
0

每当开始支付业务一切正常,但在活动成果得到了错误应用内结算-V3错误

上的活动结果 RESULT_OK = 0,发送resultCode = -1如预期样品的例子,但我不“知道这里是要错..

if (Navigator.REQUEST_PASSPORT_PURCHASE == requestCode) { 
     if (RESULT_OK == resultCode) { 
      dealWithSuccessfulPurchase(); 
     } else { 
      dealWithFailedPurchase(); 
     } 
    } 

有控制权就在别人statment ..

+0

logcat说什么? –

+0

在logcat的每一件事情是确定的 但onactivityresult控制不如示例代码 正常工作,我使用应用程式内结帐v3的示例代码在我的应用程序 – Suraj

+0

如果您过滤日志检查所有日志。日志应该说些什么。你在真实设备上试用这个例子吗?如果是,那么是否有任何帐户配置为PLay应用程序? –

回答

1

检查我下面的代码:

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     Log.d(TAG, "onActivityResult(" + requestCode + "," + resultCode + "," 
       + data); 

     if (mHelper == null) 
      return; 

     if (requestCode == 10001) { 

      int responseCode = data.getIntExtra("RESPONSE_CODE", 0); 
      String purchaseData = data.getStringExtra("INAPP_PURCHASE_DATA"); 
      Log.d("INAPP_PURCHASE_DATA", ">>>" + purchaseData); 
      String dataSignature = data.getStringExtra("INAPP_DATA_SIGNATURE"); 
      Log.d("INAPP_DATA_SIGNATURE", ">>>" + dataSignature); 
      String continuationToken = data 
        .getStringExtra("INAPP_CONTINUATION_TOKEN"); 
      Log.d("INAPP_CONTINUATION_TOKEN", ">>>" + continuationToken); 

      if (resultCode == RESULT_OK) { 
       try { 
        Log.d("purchaseData", ">>>"+purchaseData); 
        JSONObject jo = new JSONObject(purchaseData); 
        String sku = jo.getString("productId"); 
        alert("You have bought the " + sku 
          + ". Excellent choice, adventurer!"); 
       } catch (JSONException e) { 
        alert("Failed to parse purchase data."); 
        e.printStackTrace(); 
       } 
      } else if (resultCode == RESULT_CANCELED) { 

       // } else if (resultCode == RESULT_CANCELED) { 

       Toast.makeText(AppMainTest.this, 
         "Sorry, you have canceled purchase Subscription.", 
         Toast.LENGTH_SHORT).show(); 

      } else if (resultCode == IabHelper.BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED) { 
       Toast.makeText(AppMainTest.this, "Item already owned", 
         Toast.LENGTH_SHORT).show(); 
      } 

     } 
    } 

希望这将解决您的问题。

相关问题