如何获取数据并更改哪个card.io集成的Activity主题?

时间:2016-10-14 11:39:08

标签: android themes card.io

我正在我的应用程序中集成card.io来读取借记卡/信用卡的信息。我已经成功地集成了它,但它总是获得卡号,但没有到期,CVV和显示。它有时会到期日但它永远不会获得持卡人姓名和cvv。还有更多,如果我想改变主题我的意思是文本字段和按钮背景是可能的库类不可编辑。以下是我用于意图的代码,

private void readCardInfo() {
    Intent scanIntent = new Intent(getActivity(), CardIOActivity.class);
    scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_EXPIRY, true);
    scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_CVV, true);
    scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_CARDHOLDER_NAME, true);
    startActivityForResult(scanIntent, MY_SCAN_REQUEST_CODE);
}

及以下是我用于获取onActivityResult();

数据的代码
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == MY_SCAN_REQUEST_CODE ){
        if (data != null && data.hasExtra(CardIOActivity.EXTRA_SCAN_RESULT)) {
            CreditCard scanResult = data.getParcelableExtra(CardIOActivity.EXTRA_SCAN_RESULT);
            cardNumber = scanResult.getFormattedCardNumber();
            if (scanResult.isExpiryValid()) {
                expiryDate = scanResult.expiryMonth + "/" + scanResult.expiryYear;
                LogHelper.debugLog("expiry date is " + expiryDate);
                setExpiryDate(expiryDate);
            }
            if (scanResult.cvv != null) {
                codeCVV = scanResult.cvv;
                tvCVV.setText(codeCVV);
            }
            if (scanResult.cardholderName != null) {
                cardHolderName = scanResult.cardholderName;
                etNameOnCard.setText(cardHolderName);
            }
            setCardNumber(cardNumber);
        }
    }
}

我做错了什么或错过任何一步?

1 个答案:

答案 0 :(得分:0)

很抱歉迟到了回复但是如果有人遇到同样的问题那么它会有帮助

EXTRA_KEEP_APPLICATION_THEME public static final String EXTRA_KEEP_APPLICATION_THEME 布尔额外。可选的。如果此值设置为true,并且应用程序具有主题,则card.io活动的主题将设置为应用程序的主题。

在intent extra中传递EXTRA_KEEP_APPLICATION_THEME常量,并将boolean值设置为true。