简体   繁体   English

onActivityResult:resultCode始终返回2

[英]onActivityResult: resultCode always returns 2

I am trying to integrate BrainTree into my app, but I'm having some issues with startActivityForResult() and onActivityResult() . 我正在尝试将BrainTree集成到我的应用程序中,但是startActivityForResult()onActivityResult()遇到一些问题。 I have already properly retrieved a clientToken but for some reason I'm always receiving a resultCode of 2 in onActivityResult . 我已经正确检索了一个clientToken,但是由于某种原因,我总是在onActivityResult收到一个resultCode为2的结果。 In addition I also get this in my Logs: 另外,我也在日志中得到了这个:

I/art: Rejecting re-init on previously-failed class java.lang.Class I / art:拒绝对先前失败的类java.lang.Class进行重新初始化

Any idea what's going on? 知道发生了什么吗? Here's some snippets of my code in case it helps: 这是我的一些代码片段,以防万一:

This is the onClick method in my fragment. 这是我片段中的onClick方法。

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

And this is the onActivityResult code in my activity. 这是我的活动中的onActivityResult代码。 ( PostOrder is the the function that's supposed to run once Braintree sends a nonce back to me, but this doesn't even run since I get a resultCode of 2) PostOrder是应该在Braintree向我发送一个随机数PostOrder运行的函数,但是由于我得到的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());
        }
    }
}

The resultCode==2 is reserved for BRAINTREE_RESULT_DEVELOPER_ERROR : resultCode==2BRAINTREE_RESULT_DEVELOPER_ERROR保留:

The payment method flow halted due to a resolvable error (authentication, authorization, SDK upgrade required). 由于发生可解决的错误(认证,授权,需要升级SDK),付款方式流程暂停。 The reason for the error will be returned in a future release. 错误原因将在以后的版本中返回。

Probably you need to double check if the SDK is set it up correctly. 可能您需要仔细检查SDK是否正确设置。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM