Как получить данные и изменить тему активности, на которую интегрирована карта.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);
        }
    }
}

Я что-то делаю неправильно или пропустил какой-то шаг?


person Abdul Waheed    schedule 14.10.2016    source источник


Ответы (1)


Извините за поздний ответ. Но если кто-то столкнется с такой же проблемой, это будет полезно.

EXTRA_KEEP_APPLICATION_THEME public static final String EXTRA_KEEP_APPLICATION_THEME Логическое дополнительное значение. Необязательный. Если для этого значения задано значение true и у приложения есть тема, тема для действий card.io будет установлена ​​на тему приложения.

передайте константу EXTRA_KEEP_APPLICATION_THEME в дополнительных намерениях и установите логическое значение в true.

person Jitu Varghese    schedule 19.06.2017