代码之家  ›  专栏  ›  技术社区  ›  Amit Verma

在'io.card:android sdk:5.5.1'的DataEntryActivity类中未获取到期日期

  •  0
  • Amit Verma  · 技术社区  · 8 年前

    'io.card:android-sdk:5.5.1' 但在DataEntryActivity的editText中输入到期日和持卡人姓名,然后正确获取,但在扫描卡时无法获取到期日和持卡人姓名。

    我正在使用这个代码 link is here

    使用此依赖项编译“io.card:AndroidSDK:5.5.1”

    我的代码在这里,

    Intent scanIntent = new Intent(getActivity(), CardIOActivity.class);
    
            scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_EXPIRY, true); // default: false
            scanIntent.putExtra(CardIOActivity.EXTRA_SCAN_EXPIRY, true);
            scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_CARDHOLDER_NAME, true); // default: false
            scanIntent.putExtra(CardIOActivity.EXTRA_HIDE_CARDIO_LOGO, true); // default: false
            scanIntent.putExtra(CardIOActivity.EXTRA_CAPTURED_CARD_IMAGE, true);
            scanIntent.putExtra(CardIOActivity.EXTRA_USE_PAYPAL_ACTIONBAR_ICON, false);
    
    
            scanIntent.putExtra(CardIOActivity.EXTRA_GUIDE_COLOR, getResources().getColor(R.color.primary));
            // matches the theme of your application
            scanIntent.putExtra(CardIOActivity.EXTRA_KEEP_APPLICATION_THEME, false); // default: false
    
            // MY_SCAN_REQUEST_CODE is arbitrary and is only used within this activity.
            scanIntent.putExtra(CardIOActivity.EXTRA_CAPTURED_CARD_IMAGE, false);
            scanIntent.putExtra(CardIOActivity.EXTRA_RETURN_CARD_IMAGE, false);
            scanIntent.putExtra(CardIOActivity.EXTRA_SUPPRESS_MANUAL_ENTRY, true);
            startActivityForResult(scanIntent, MY_SCAN_REQUEST_CODE);
    

    以及活动结果。此代码在我的活动中正常工作

    @Override
        public void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
    
            String resultStr;
            if (data != null && data.hasExtra(CardIOActivity.EXTRA_SCAN_RESULT)) {
                CreditCard scanResult = data.getParcelableExtra(CardIOActivity.EXTRA_SCAN_RESULT);
    
                // Never log a raw card number. Avoid displaying it, but if necessary use getFormattedCardNumber()
                String resultStr1 = scanResult.getFormattedCardNumber();
                resultStr = "Card Number: " + scanResult.getRedactedCardNumber() + "\n";
    
                if (scanResult.getRedactedCardNumber() != null) {
                    cardNoFlag = true;
    
                    edtMaskedCardNo.setText(scanResult.getFormattedCardNumber());
                }
                scanResult.getCardType();
    
                // Do something with the raw number, e.g.:
                // myService.setCardNumber( scanResult.cardNumber );
                String expYr = "", month = "";
                if (scanResult.isExpiryValid()) {
    
                    expYr = String.valueOf(scanResult.expiryYear % 100);
                    if (isSingle(scanResult.expiryMonth)) {
    //                    month = String.format("%02d", scanResult.expiryMonth);
                        month = String.valueOf("0" + scanResult.expiryMonth);
                    } else {
                        month = String.valueOf(scanResult.expiryMonth);
                    }
                    resultStr += "Expiration Date: " + scanResult.expiryMonth + "/" + scanResult.expiryYear + "\n";
                    ExpDateFlag = true;
    
                    b.putBoolean("ExpDateFlag", ExpDateFlag);
                    strExpDate = month + "/" + expYr;
                    b.putString("ExpDate", month + "/" + expYr);
    
                    b.putString("FormattedExpDate", month.concat(expYr));
                    strFormattedExpiry = month.concat(expYr);
    
                    /*Amit Verma set Expire*/
                    edtExpDate.setText(month + "/" + expYr);
                }
    
    
                if (scanResult.cardholderName != null) {
                    resultStr += "Cardholder Name : " + scanResult.cardholderName + "\n";
                }
    
                if (scanResult.cvv != null) {
    // //                 Never log or display a CVV
                    strScanCVV = scanResult.cvv;
                }
    
    
    
            } else {
    
                resultStr = "Scan was canceled.";
    
            }
    
    
        }
    

    see image description here

    0 回复  |  直到 8 年前