onActivityResult:resultCode总是返回2

时间:2016-01-24 01:05:36

标签: android android-fragments braintree onactivityresult start-activity

我正在尝试将BrainTree集成到我的应用中,但我在使用startActivityForResult()onActivityResult()时遇到了一些问题。我已经正确检索了 clientToken 但由于某种原因,我总是在onActivityResult中收到2的 resultCode 。另外我还在我的日志中得到了这个:

  

我/艺术:拒绝在之前失败的课程上重新初始化   java.lang.Class中

知道发生了什么事吗?这是我的代码的一些片段,以防它有用:

这是我片段中的 onClick 方法。

void onPaymentClick() {
   PaymentRequest paymentRequest = new PaymentRequest().clientToken("<client_token>");
        getActivity().startActivityForResult(paymentRequest.getIntent(storeOrderActivity), 1);
    }
}

这是我活动中的 onActivityResult 代码。 PostOrder是Braintree向我发送一个nonce时应该运行的函数,但是因为我得到的resultCode为2,所以它甚至都没有运行

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 1) {
        if (resultCode == Activity.RESULT_OK) {
            PaymentMethodNonce paymentMethodNonce = data.getParcelableExtra(
                    BraintreePaymentActivity.EXTRA_PAYMENT_METHOD_NONCE
            );
            PostOrder.postOrder(this, fabCartAdapter.getCart(), paymentMethodNonce.getNonce());
        }
    }
}

1 个答案:

答案 0 :(得分:1)

goto保留给BRAINTREE_RESULT_DEVELOPER_ERROR

  

由于可解决的错误(身份验证,授权,需要SDK升级),付款方式流已停止。错误的原因将在以后的版本中返回。

您可能需要仔细检查SDK是否设置正确。