我正在尝试将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());
}
}
}
答案 0 :(得分:1)
goto
保留给BRAINTREE_RESULT_DEVELOPER_ERROR
:
由于可解决的错误(身份验证,授权,需要SDK升级),付款方式流已停止。错误的原因将在以后的版本中返回。
您可能需要仔细检查SDK是否设置正确。