Я интегрирую card.io в свое приложение для чтения информации дебетовой/кредитной карты. Я интегрировал его успешно, но он всегда получает номер карты, но не истекает, CVV и display.It иногда получить срок годности, но он никогда не получает имя владельца карты и cvv. И еще больше, если я хочу изменить тему, я имею в виду, что текстовые поля и фоны кнопок являются возможными, поскольку классы библиотек не редактируются. Ниже приведен код, я использую для намерения т.е.,Как получить данные и изменить тему Activity, на которой интегрирована card.io?
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);
}
}
}
Я делаю что-то неправильно или отсутствует какой-либо шаг?